항해2주차 - Node.js (3) 세미콜론, 주석
1.문(statement)은 어떤 작업을 수행하는 문법 구조(syntax structure)나 명령어(command)를 의미한다.
코드에 원하는 만큼 문을 작성할 수 있다. 다만 문이 다르면 ; 세미클론으로 구분짓자.
예를 들어
alert('hello');
alert('bye');
가독성을 위해 평행해서 작성하지 말고 서로 다른 줄에 작성하자.
2. 세미콜론 자동 삽입(automatic semicolon insertion)
줄 바꿈이 있다면 세미콜론이 안붙어 있어도 작동한다.
예를 들어
alert('hello')
alert('bye')
자바스크립트가 암시적으로 줄바꿈이 있으면 세미콜론으로 해석한다.
BUT
항상 줄바꿈을 세미콜론이라 해석하진 않는다. 예를 들어
alert(3 +
1
+ 2);
이와 같은 경우는 세미콜론 자동 삽입이 일어나지 않는다.
줄이 +로 끝나니까 불완전한 표현식이라 그럼.
고로 결과물로 6이 출력된다.
2-1 세미콜론을 자동으로 삽입하지 못하는 경우
alert("에러가 발생합니다.")
[1, 2].forEach(alert)
상단에 alert만 출력되고 아래 코드는 에러가 발생한다.
이유는 자바스크립트가 대괄호[ ] 앞에는 세미콜론이 있다고 가정하지 않기때문임.
자바스크립트 엔진이 보게되는 코드는 alert("에러가 발생합니다.")[1, 2].forEach(alert) 이렇게 단일문으로 처리하게된다.
alert("제대로 동작합니다.");
[1, 2].forEach(alert)
이렇게 작성해면 제대로 출력된다.
결론: 세미콜론 생략 가능하지만 세미콜론을 사용하는게 안전하니 잘 작성하자.
3. 주석
주석은 스크립트 어느곳에서나 작성 가능함. 자바스크립트 엔진은 주석을 무시하기때문임.
단일 주석은 // 슬래시 2개 뒤에 적어주면 된다.
ex) //이건 단일 주석임.
여러 줄 주석은 /*로 시작해서 */로 끝난다,
ex) /*이건 여러주석임
어쩌구저쩌구
암튼 여러줄 주석임*/
고로 주석안에 코드가 있어도 내용을 무시하게됨. 이를 이용하면 코드 일부를 일시적으로 비활성화 시킬수 있음.
3-1 주석 단축키
블록을 지정하고 ctrl+/를 누르면 해당 줄의 코드를 한줄 주석으로 처리 가능함.
여러줄 주석은 ctrl+shift+/ 누르면 할 수 있음.
3-2 주석 중첩 지원X
예를 들어 /*이건 주석인데 /*쑥떡쑥떡*/*/
이렇게 쓰면 에러남.