러닝 자바스크립트 4장 정리

 

자바스크립트의 제어문 

 

메타문법 

 - ([ ]) 대괄호로 감싼것은 옵션이고 생략부호 (....)는 '여기에 들어갈 내용이 있다' 라는 뜻이다. 

 

while  문

while (condition)

statement

 - condition이 참 같은 값이면 statement를 실행한다.

 

if....else 문

if (condition)

statement 1

[else

      statement 2]

 - condition이 참 같은 값이면 statement1을 실행하고 그렇지 않으면 else부분의 statement를 실행한다. 

 

do.....while 문 

do 

statement

while (condition);

 - statement는 최소한 한 번 실행하고 condition이 참 같은 값인 동안 반복해서 실행한다. 

 

 for 문 

for ([initialization], [condition], [final-sxpression])

     statement

 

for 루프의 다른 패턴

 

for ( ; ; ) console.log ("I will repeat forever!"); 

 - for 루프의 제어부에 아무것도 쓰지 않으면 무한루프가 만들어진다 . 

 - 조건을 생략하면 항상 true로 평가되므로 루프를 빠져나갈 수 없기 때문이다.

 

switch 문 

switch (expression) {

    case value 1 : 

    [break;]

    case value 2 :

    [break;]

    case value N : 

    [break;]

default : 

    [break;]

}

 - 조건 하나로 여러가지 중 하나를 선택할 수 있다. 

 - expression을 평가하고 그에 일치하는case를 찾아서 break, return, continue 를 만나거나 끝날때까지 실행한다. 

 - default는 일치하는 case 가 없을때 실행된다. 보통 맨 마지막에 사용한다. 

 

for ..... in 루프 

for (variable in object)

     statement

 - 객체의 프로퍼티에 루프를 실행하도록 설계된 루프.

 

유용한 제어문 패턴 

 

continue 문을 사용해 조건 중첩 줄이기 

while (funds > 1 && funds < 100) {

   let totalBet - rand (1, funds);

   if (totalBet === 13) {

             console.log ("Unlucky! Skip this round...");

             continue; }

}

 - while 루프의 바디에서 할 일은 대부분 else절에 들어있고 if절이 하는 일은 console.log를 호출하는 것 뿐이므로 continue를 이용해 간결하게 만들어줄 수 있다.

 

break, return 문을 사용해 불필요한 연산 줄이기 

let firstPrime - null;

    for (let n of bigArrayOfNumbers) {

         if (isPrime(n)) {

           firstPrime = n;

           break;   }

}

 - 수천개의 리스트 중 가장 앞에 있는 소수를 찾는 경우 비교적 앞쪽의 숫자가 소수이면 break문을 이용해 쓸데없는 연산을 중지하도록 해줌. 

 

 

 

 

 

 

 

 

 

TAGS.

Comments