항해

항해2주차 - Node.js (3) 세미콜론, 주석

완두노예 2023. 1. 18. 18:21

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

예를 들어 /*이건 주석인데 /*쑥떡쑥떡*/*/  

이렇게 쓰면 에러남.