본문 바로가기

javascript

자바스크립트 세미콜론

세미콜론 ( ; )은 문의 종료를 의미. 즉, 자바스크립트 엔진은 세미콜론으로 문이 종료한 위치를 파악하고 순차적으로 하나씩 문을 실행한다. 문을 끝내려면 세미콜론을 붙여야 한다.

 

단, 0개 이상의 문을 중괄호로 묶은 코드 블록 ( { ... } ) 뒤에는 세미콜론을 붙이지 않는다. if문, for문, 함수 등의 코드 블록 뒤에는 세미콜론을 붙이지 않는다. 코드 블록은 언제나 문의 종료를 의미하는 자체 종결성(self closing)을 갖기 때문이다.

 

세미콜론은 생략 가능하다. 자바스크립트 엔진이 소스코드를 해석할 때 문의 끝이라고 예측되는 지점에 세미콜론을 자동으로 붙여주는 세미콜론 자동 삽입 기능(ASI ; automatic semicolon insertion)이 암묵적으로 수행되기 때문이다. 하지만 이 ASI 세미콜론 자동 삽입 기능의 동작과 개발자의 예측이 일치하지 않는 경우가 간혹 있다.

 

세미콜론을 반드시 붙여야 한다는 주장이 다수를 차지하지만 붙이지 말아야 한다는 주장도 설득력이 있다. 하지만 TC39(ECMAScript 기술 위원회) 세미콜론 사용을 권장하는 분위기이다.

 

출처 :  모던자바스크립트 56페이지

728x90
300x250