모던 JavaScript 튜토리얼을 따라가면서 정리합니다.
2.2. 코드 구조
statement
문(statement)은 어떤 작업을 수행하는 문법 구조(syntax structure)와 명령어(command)를 의미한다.
세미콜론
줄바꿈이 있다면 세미콜론을 생랴가할 수 있다. 자바스크립트는 줄바꿈이 있으면 이를 ‘암시적’ 세미콜론으로 해석한다. 이런 동작 방식을 세미콜론 자동 삽입이라고 부른다. 세미콜론이 정말로 필요하지만 자바스크립트가 이를 추정하지 못하는 상황도 존재한다. 다음과 같다.
1
2
alert("에러가 발생합니다.")
[1, 2].forEach(alert)
이를 실행해보면 alert만 출력되고 에러가 발생한다. 자바스크립트가 대괄호 [...]
앞에는 세미콜론이 있다고 가정하지 않기 때문이다. 따라서 자바스크립트 엔진은 alert("에러가 발생합니다.")[1,2].forEach(alert)
이라는 단일문을 보고 에러를 발생시키는 것이다.
이러한 문제들 때문에 줄바꿈으로 문을 나눠 놨다 하더라도 문 사이에는 세미콜론을 넣는 것이 권장된다.
주석
자바스크립트 엔진은 주석을 무시하기 때문에 주석의 위치는 실행에 영향을 주지 않는다. 대부분의 에디터에서 Ctrl + /
는 한줄 주석, Ctrl + Shift + /
는 여러줄 주석을 만든다.
중첩 주석은 지원하지 않는다. /* ... */
안에 또 다른 /* ... */
가 있을 수 없다. 주석을 중첩해 쓰면 에러가 발생한다.
주석을 다면 코드 전체 길이는 길어지지만 프로덕션 서버에 배포하기 전에 코드를 압축해주는 도구가 많이 있고, 이 도구는 주석을 삭제한다. 즉 실행 중인 스크립트엔 주석이 들어가지 않으므로 최종으로 배포되는 코드에 부정적인 영향을 끼치지 않는다.