파이썬을 주로 쓰다가 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
'JaveScript > JaveScript' 카테고리의 다른 글
모던자바스크립트 11, 12장 스터디 (0) | 2023.11.18 |
---|---|
모던 자바스크립트 9, 10장 스터디 (0) | 2023.11.17 |
왜 NaN === NaN 는 false이고 0 === -0은 true 일까? (0) | 2023.11.16 |
null과 undefined의 차이 (0) | 2023.11.15 |
Date객체가 반환하는 시간과 toISOString() 함수의 반환 시간이 다른 문제 (0) | 2023.11.06 |