자바스크립트에서는 모든 문(statement)의 끝에 ;
을 적는다. 자바스크립트 실행 엔진은 이 세미콜론을 통해 각 문의 종료 위치를 파악할 수 있다.
{...}
물론 예외도 있다. 코드 블록 {...}
뒤에는 세미콜론을 사용하지 않는다. 코드 블록문은 자체적인 종결성을 가지고 있기 때문에 종료 위치를 의미하는 세미콜론을 사용할 필요가 없기 때문이다.
if문, for문, 함수문 등의 코드 블록문
function isOldEnoughToDrink(age) { if(age < 19) { return false; // 일반적인 문 - 세미콜론 사용 O } // if문 - 세미콜론 사용 X return true; } // 함수문 - 세미콜론 사용 X console.log(isOldEnoughToDrink(27)); // 일반적인 문 - 세미콜론 사용 O
{ };
반면 객체를 선언한 중괄호 뒤에는 세미콜론을 붙인다. 이는 코드 블록이 아니라 객체의 값을 표현하는 하나의 방식(리터럴 방식)이기 때문이다.
객체 선언문
let team = { designer : michael, marketer : david, developer : lisa }; // 객체 선언문 - 세미콜론 사용 O