문 ( statement ) 은 어떤 작업을 수행하는
문법 구조 ( syntax structure )와 명령어(command)를 의미한다.
코드엔 원하는 만큼 문을 작성할 수 있으며, 서로 다른 문은 세미콜론으로 구분한다.
alert('Hello'); alert('World');
alert('Hello'); alert('World');
코드의 가독성을 높이기 위해 각 문은 서로 다른 줄에 작성하는 것이 일반적이다.
줄 바꿈이 있다면 세미콜론(semicolon)을 생략할 수 있다.
alert('Hello') alert('World')
자바스크립트는 줄 바꿈이 있으면 이를 “암시적” 세미콜론으로 해석한다.
이런 동작 방식을 세미콜론 자동 삽입 ( automatic semicolon insertion ) 이라 부른다.
alert(3 + 1 + 2);
대부분의 경우, 줄 바꿈은 세미콜론을 의미하지만
위 코드의 경우 세미콜론 자동 삽입이 일어나지 않았기 때문에 6이 출력된다.
어떤 줄이 "+" 로 끝나면, 그 줄은 " 불완전한 표현식 " 이므로 세미콜론이 필요하지 않다.
세미콜론이 정말로 필요하지만 자바스크립트가 이를 알 수 없는 상황도 있다.
이런 상황에서 발생하는 에러는 찾거나 고치기가 상당히 어렵다.
alert("에러 발생.") [1, 2].forEach(alert)
alert만 제대로 출력되고 에러가 발생 한다.
alert 끝에 세미콜론을 추가해 다시 실행하면 코드는 잘 작동한다.
자바스크립트가 대괄호 앞에는 세미콜론이 있다고 가정하지 않기 때문에
세미콜론 자동 삽입이 일어나지 않고 단일 문으로 처리되어 에러가 발생한다.
세미콜론은 줄바꿈으로 생략할 수 있지만, 줄 바꿈으로 문을 나눴더라도
문 사이에는 세미콜론을 넣는것을 권장한다.
주석은 스크립트의 어느 곳에나 작성할 수 있으며,
자바스크립트 엔진은 주석을 무시하기 때문에 주석의 위치는 실행에 영향을 주지 않는다.
주석안에 주석을 작성할 수 없다 ( 중첩 불가 )
Ctrl+/ 를 사용하면 해당 줄의 코드를 한 줄짜리 주석으로 처리할 수 있으며,
여러 줄의 주석은 Ctrl+Shift+/ 를 통해 처리할 수 있다.