## 자바스크립트에서 세미콜론을 사용해야 할까? 

 

자바스크립트에는 ASI (아마 Auto Semicolon Insert ? ) 기능이 있음. 언제 나온건지는 모름 

 

ASI는 '지능'적으로 세미콜론이 위치해야할 자리에 자동으로 세미콜론을 삽입해준다. 

 

그러나 ASI가 잘못된 위치에 세미콜론을 삽입하는 경우가 있으며, 이는 아래와 같은 예시가 될 수 있다. 

 

function foo() { 
  return 
  { 
  "foo" : "foo"
  } 
}

 

개발자의 의도로서는 foo 함수의 반환값은 foo 라는 속성을 가진 객체를 리턴해야한다. 

그러나 ASI로 인해서 아래와 같은 코드로 만들어질 수 있다. 

 

function foo() { 
  return; 
  {
  "foo" : "foo" 
  }; 
}

 

ASI로 인해 개발자가 의도한 코드와는 다르게 함수에 진입하자마자 종료를 해버리게 된다. 

 

사실 이러한 문제는 아주 간단하게 해결할 수 있는데, 

 

function foo() { 
  return { 
  "foo" : "foo"
  } 
}

 

이렇게 코드를 작성한다면 세미콜론의 위치가 처음 봤던 코드랑은 다를것이다. 

 

간단하게 알아본 코드를 통해 내가 생각하게된 것은

 

세미콜론을 붙일것인가 말것인가는 ASI의 동작 방식을 알고있다면 

 

세미콜론을 사용하지 않아도 개발자가 의도한 방식으로 세미콜론을 생성해줄 것이다. 

 

결론!

 

세미콜론을 사용하는 것은 개발자의 기호이고, 통일만 하면 된다고 생각하며,

 

ASI의 동작방식을 터득했다면 세미콜론을 붙이는 수고를 덜고 블필요한 코드를 작성하지 않을 수 있게 될것이라고

 

생각한다.

 

자바스크립트로 개발해본적도 없지만,,, 이상 간단하게 알아본 자바스크립트 세미콜론에 대한 고찰 끝!

 

다른 의견이나 잘못된 점은 댓글로 알려주시면 감사하겠습니다. ㅎㅅㅎ

+ Recent posts