JaveScript/JaveScript

자바스크립트에서 세미콜론은 필수인가?

알면 알 수록 재밌다! 2023. 11. 13. 17:09

 

파이썬을 주로 쓰다가 javascript 로 코드를 짜다보니 세미콜론을 안써도 된다, 써야한다 말이 많았다.

그래서 안쓰고 있다가 에러가 나서 꼭 써야하는 부분이 있구나 싶었다.

 


 

문제상황

try {
    return jwt.verify(token, TOKEN_SECRET, { ignoreExpiration: true }) as IJWTTokenData;
  } catch (error) {
    return 
        null;
  }

 

위처럼 코드를 작성했는데 null 부분이 에러가 났다.


 

원인

 

ASI 동작 결과 

# ASI 동작결과
return; null;

# 내가 원했던 결과
return null;

 

내가 prettier 같은 설정을 안해놔서 자동으로 줄바꿈이 되지 않았고, 이 코드가 위처럼 동작했던 것이다.




해결

try {
    return jwt.verify(token, TOKEN_SECRET, { ignoreExpiration: true }) as IJWTTokenData;
  } catch (error) {
    return null;
  }

 

모든 부분에 쓸 필요는 없고 특정 부분에만 작성을 하면 되는것 같다.

eslint와 prettier 설정을 잘만 해두면 발생하지 않는 휴먼에러인것 같으니

주어진 도구를 잘 사용하면 될것 같다.


참고
https://bakyeono.net/post/2018-01-19-javascript-use-semicolon-or-not.html