자바스크립트 세미콜론

Zoey·2022년 1월 19일
0

코딩테스트를 준비하면서 많은 문제를 풀다보니 계속 헷갈리는 것이 한 가지 있었다. 대체 세미콜론은 어디에 붙여야 하는거지..?

검색을 해보니까 자동으로 붙여주기때문에 안붙여도 된다 파 VS 그래도 붙여야 문제가 없으므로 전부 붙여줘야한다 파가 아주 쟁쟁하게 겨루고 있었다.
나는 후자를 택하기로 했다. 하지만 안 붙여도 되는 상황을 정리해보려한다.


세미콜론?

자바스크립트에서는 모든 문(statement)의 끝에 ; 을 적는다. 자바스크립트 실행 엔진은 이 세미콜론을 통해 각 문의 종료 위치를 파악할 수 있다.

예시

코드 블록 {...} 뒤에는 세미콜론을 사용하지 않는다. 코드 블록문은 자체적인 종결성을 가지고 있기 때문에 종료 위치를 의미하는 세미콜론을 사용할 필요가 없기 때문이다.

  • if,for,함수문 등의 코드 블록문
function test (){
  if(){
  	return false; // 일반적인 문 - 세미콜론 사용 O
  } // 붙이지 않는다. 
	
  for(let i = 0; i < n.length; i++){
  
  } // 붙이지 않는다.
} // 붙이지 않는다.

console.log(); // 세미콜론 사용 O
  • for문의 증감문 뒤에도 세미콜론을 붙이지않는다.
for(let i = 0; i < n.length; i++){ // 마지막 증감문에는 세미콜론 X
} 

객체를 선언한 중괄호 { };
반면 객체를 선언한 중괄호 뒤에는 세미콜론을 붙인다. 이는 코드 블록이 아니라 객체의 값을 표현하는 하나의 방식(리터럴 방식)이기 때문이다.

let team = {
  designer : michael,
  marketer : david,
  developer : lisa
}; // 객체 선언문 - 세미콜론 사용 O

자동으로 붙여주긴하지만 혹시 모를 1%의 가능성으로 오류가 날 수 있다면
난 세미콜론을 붙이는 걸 추천한다!

참고자료 https://velog.io/@ssumniee/JS-%EC%84%B8%EB%AF%B8%EC%BD%9C%EB%A1%A0
profile
한 걸음씩 단단하게 !

0개의 댓글