[JS] 생활코딩 섹션 5-7

유누윤·2022년 9월 20일
0

섹션5. 조건문

흐름제어

자바스크립트 코드는 위에서 아래로 한줄씩 순서대로 실행되는데,
코드가 실행되는 흐름을 프로그래머가 제어할 수 있는 수단이 흐름제어다.

- 조건문이란?

주어진 조건에 따라서 어플리케이션을 다르게 동작하도록 하는것

//ex1)
if(true (= 조건식)){
	alert('result : true);
}

//ex2)
if(false){
    alert('result : true');
}

ex1은 값을 도출하지만 ex2는 값을 도출하지 않는다.
조건식의 boolean값에 따라 실행여부가 달라진다.

if( 조건식 ) {

   // 조건식이 참인 경우 실행;
   
}else if( 조건식 ){

   // 위의 조건식이 거짓이고 해당 조건식이 참인 경우 실행;
   
}else{

	// 조건식이 거짓인 경우 실행;
    
}

else if는 좀 더 다양한 케이스의 조건을 검사할 수 있다.
else if와 else값은 생략이 가능하다.

- 논리연산자

     ||       논리 합 연산. 좌항이나 우항 둘 중 하나라도 true면 전체 식이 true가 되는 연산.
              좌항이 true인 경우, 우항은 볼것도 없이 전체식이 true로 결정되므로, 그 경우에 우항은 아예 계산을 하지 않는다.

     &&       논리 곱 연산. 좌항과 우항 둘 다 true여야 전체식이 true가 되는 연산.
			  좌항이 false인 경우, 우항은 볼것도 없이 전체식이 false로 결정되므로, 그 경우에 우항은 아예 계산을 하지 않는다.

     !        논리 부정 연산. 주어진 진리값이 true면 false를 도출하고, 주어진 진리값이 false면 true를 도출하는 연산.

논리연산자를 사용하면 조건문을 간단하게 표현할 수 있다.

- 삼항연산자

블럭 안에서 실행될 내용이 문장 1개 이거나 블럭 1개로 취급할 수 있는 경우,
중괄호 기호는 생략이 가능하다

조건식 ? true일때 나오는 코드 : false일때 나오는 코드

디테일한 삼항연산자

- Boolean의 대체제

Number타입, String타입, Boolean타입간의 묵시적 형 변환

Number타입 데이터를 써야 할 자리에 Boolean타입 데이터를 쓰는 경우, 
ex) 6-true => 5
true는 1로 간주되고, false는 0으로 간주된다.

String타입 데이터를 써야 할 자리에 Boolean타입 데이터를 쓰는 경우, 
ex) “String"+true => “String true“
true는 “true”로 간주되고, false는 “false”로 간주된다.

Boolean타입 데이터를 써야 할 자리에, Number타입 데이터를 쓰는 경우,
ex) true && 1 => true
0 은 false로 간주되고, 0이 아닌 모든 수(음수포함)는 true로 간주된다.

Boolean타입 데이터를 써야 할 자리에, String타입 데이터를 쓰는 경우,
ex) true && “false” => true
빈 문자열(=“”)는 false로 간주되고, 문자열이 비어있지 않으면 true로 간주된다.

- switch

switch( 변수나 데이터 ){
	case [데이터1]:
    // 주어진 변수나 데이터가 [데이터1]에 대응하는 경우 실행될 문장들;

	case [데이터2]:
    // 주어진 변수나 데이터가 [데이터2]에 대응하는 경우 실행될 문장들;

	default:
    // 주어진 변수나 데이터가 어느 case에도 대응하지 않았던 경우 실행될 문장들;
}

대응하는 case절을 찾으면 거기에서 시작해서 밑으로 쭉 실행을 이어간다.
case절에서 아래로 실행흐름을 내려보내지 않고 실행을 멈추고 싶으면 break 문을 사용한다.
default절은 생략 가능하다.

디테일한 switch문

섹션6. 반복문

- while

while( 조건식 ){
	// 조건식이 참인 경우 반복해서 실행할 코드;
}

(조건식-내용실행-) (조건식-내용실행-) (조건식-내용실행-)...

- do-while

do{
   // 조건식이 참인 경우 반복해서 실행할 코드;
} while( 조건식 );

(내용실행-조건식-) (내용실행-조건식-) (내용실행-조건식-)...

- for

for( 초기식 ; 조건식 ; 증감식 ){
   	// 조건식이 참인 경우 반복해서 실행할 코드;
}

(초기식-조건식-내용실행-) (증감식-조건식-내용실행-) (증감식-조건식-내용실행-)...

- 반복문 특징

  1. 블럭 안에서 실행할 내용이 문장 1개이거나 또는 블럭 1개로 취급할 수 있는 경우, 중괄호 기호는 생략이 가능하다.
  2. 내용을 실행하는 중에 break 문을 만나면 내용의 나머지 구간을 실행하지 않고, 조건식과 무관하게 즉시 루프를 종료한다.
  3. 내용을 실행하는 중에 continue 문을 만나면 내용의 나머지 구간을 실행하지 않고, 조건식 판별 순서로 건너뛴다.
  4. 반복문에서 종료조건을 잘못 지정하면 무한반복 되거나, 반복문이 실행되지 않는다.

섹션7. 함수

함수(function)란 하나의 로직을 재실행 할 수 있도록 하는 것으로 코드의 재사용성을 높여준다.

function 함수명( [인자...[,인자]] ){
   //실행할 코드
   return 반환값
}

//인자 : 유입되는 입력 값, 여러개를 선언할 수 있다.
//return : return 뒤에 따라오는 값을 함수의 결과로 반환한다. 동시에 함수를 종료시킨다. 

인자와 매개변수의 차이점

- 함수의 특징

  1. 함수는 호출(call)되어야만 실행된다.
  2. 함수를 여러번 호출하면 같은 내용의 코드를 여러번 실행할 수 있다.
  3. 함수를 호출할 때, 함수 내부 코드를 실행하기 위해 필요한 데이터를 넣어줄 수 있다. (인자 argument)
  4. 함수는 실행을 마치고나서 결과로 도출되는 데이터를 토해낼 수 있다. (리턴값 return value)

- 함수를 호출하는 방법

 함수이름();
 함수이름( 인자1, 인자2, 인자3 );
 var r = 함수이름();
 var r = 함수이름( 인자1, 인자2, 인자3 );

- 함수의 효용

  1. 함수는 코드를 분리할 수 있는 수단이다.
  2. 프로그램의 세부기능을 분리하여 코드를 간략화하는데에 사용한다.
  3. 프로그램의 기능 조각을 “모듈(module)”이라고 부르는데, 함수를 적절히 사용해서 큰 기능의 프로그램을 작은 단위의 모듈로 쪼개면 코드가 간결해지고 쉬워진다.
  4. 프로그램 내에서 여러번 수행해야 할 코드를 한번만 타이핑해서 재사용할 수 있다는 점도 함수의 역할이다.

0개의 댓글