<aside> 💡 if…else문은 논리적 참, 거짓으로 실행할 코드 블록을 결정한다. switch문은 논리적 참, 거짓보다는 다양한 상황(case)에 따라 실행할 코드 블록을 결정할 때 사용한다. (p. 97)
</aside>
<aside> 💡 …문을 실행한 후 switch 문을 탈출하지 않고 switch 문이 끝날 때까지 이후의 모든 case 문과 default 문을 실행하는 것을 폴스루(fall through)라고 한다. (p. 98)
</aside>
<aside> 💡 for문의 변수 선언문, 조건식, 증감식은 모두 옵션이므로 반드시 사용할 필요는 없다. 단, 어떤 식도 선언하지 않으면 무한루프가 된다. (p. 102)
</aside>
<aside> 💡 do…while 문은 코드 블록을 먼저 실행하고 조건식을 평가한다. 따라서 코드 블록은 무조건 한 번 이상 실행된다. (p. 103)
</aside>
<aside> 💡 for문은 반복 횟수가 명확할 때 주로 사용하고 while 문은 반복 횟수가 불명확할 때 주로 사용한다. (p. 103)
</aside>
<aside> 💡 레이블 문(label statement)이란 식별자가 붙은 문을 말한다. (p. 104)
</aside>
<aside> 💡 레이블 문은 프로그램의 실행 순서를 제어하는 데 사용한다. 사실 switch 문의 case 문과 default문도 레이블 문이다. 레이블 문을 탈출하려면 break 문에 레이블 식별자를 지정한다. (p. 104)
</aside>
<aside> 💡 레이블 문은 중첩된 for 문 외부로 탈출할 때 유용하지만 그 밖의 경우에는 일반적으로 권장하지 않는다. 레이블 문을 사용하면 프로그램 흐름이 복잡해져서 가독성이 나빠지고 오류를 발생시킬 가능성이 높아지기 때문이다. (p. 105)
</aside>
<aside> 💡 for…in 문은 객체의 프로토타입 체인 상에 존재하는 모든 프로토타입의 프로퍼티 중에서 프로퍼티 어트리뷰트 [[Enumerable]]의 값이 true인 프로퍼티를 순회하며 열거(enumeration)한다. (p. 309)
</aside>
<aside> 💡 for…in문은 프로퍼티 키가 심벌인 프로퍼티는 열거하지 않는다. (p. 309)
</aside>