[질문] 세미콜론 생략에 대해서
강사님께서는 세미콜론을 생략하시는 이유가 있으신가요?
제가 알고 있기론 자바스크립트 엔진이 코드를 해석하면서
세미콜론이 없다면 자동으로 세미콜론을 붙여준다고 알고 있
고 이를 명시적으로 붙여주지 않는 경우 때에 따라 오류가
발생할 소지가 있다고 알고 있습니다. 이에 대해서는 의견이
분분한것으로 알고 있는데요. 강사님은 어떻게 생각하시는지
궁금해서 질문드립니다.
답변 2
6
저 같은 경우는 Vue나 Svelte 같이 컴파일(별도 자바스크립트로 변환)이 되고 나름대로 확실한 경우에는 생산성 향상을 위해 세미콜론을 붙이지 않습니다.
컴파일하면 세미콜론이 자동으로 붙거든요.
물론 관련해 모든 환경이 100% 완벽한 컴파일을 보장하는지는 모르겠습니다.
99%일 수도 있고 98%일 수도 있고 더 낮을 수도 있겠지만,
경험상 .vue나 .svelte 파일에서 세미콜론 때문에 문제가 된 적은 아직 없네요.
.
그런데 Node.js 런타임에서 동작하는 코드는 세미콜론을 붙입니다.
말씀하신 대로 명시적이지 않는 경우 문제가 될 수 있다고 알고 있고,
실제로 문제가 되는 경우가 한 번 있었습니다.
오래돼서 그 사례가 생각나진 않는데, '이래서 세미콜론을 붙여야겠구나'라고 생각하고 이후론 Node.js 코드는 세미콜론을 붙여서 작성합니다.
아마 직접적으로 해당 .js 파일이 동작해서 그런 듯합니다.
.
세미콜론 작성이 생각보다 생산성이 많이 떨어집니다.
세미콜론이 없으면 얼마나 많은 키 입력이 절약되는지 단순 계산만 하셔도 아실 겁니다.
코드 추가/수정/삭제뿐만 아니라, 특히 아직 완벽하지 않은 코드를 작성할 때(테스트할 때), 정말 많이 불편합니다.
.
저는 주로 프론트엔드 코드를 작성하고 대부분 세미콜론을 안 붙이다 보니 항상 세미콜론을 생략하다가,
필요할 때만(백엔드 코드를 작성하거나..) 따로 세미콜론을 붙입니다.
(가끔 습관 때문에 깜빡하는 경우도 있습니다)
.
정리하자면, '상황에 맞게 붙이거나 붙이지 않는다'가 저의 입장입니다.
혹시나 세미콜론을 붙이는 게 편하시다면 굳이 습관을 바꿀 필요는 없다고 생각합니다.
56강 4. 슬롯 포워딩이 Svelte 5 부터는 적용 불가
0
208
1
5 라이프사이클 모듈화 - 질문
0
285
1
소스코드
0
268
1
스벨트킷 강의는 안해주시나요?
0
334
1
강의 소스 코드
1
657
2
aws ec2 배포시 질문
1
883
2
vite 사용하는 예시 추가 계획은 없으실까요?
2
444
1
터미널에서 npx를 치실 때 흐린색으로 가이드처럼 나오는건 어떻게 해야 하나요?
1
379
1
textarea에서 esc 키를 누를 때 오류
1
334
1
스벨트 반응성에 대해 질문드립니다!
1
470
1
백엔드는 어떻게 배우면 좋을까요?
1
305
1
scss를 사용하기 위한 sveltePreprocess() 실행 위치가?
1
394
1
보간한다는 뜻을 무슨 의미로 이해해야 하나요?
1
6127
2
[0:15] Vuejs 인라인 핸들러 비권장 설명
1
304
1
로그인 정보를 확인할 때
1
251
1
재렌더링 때 interval 처리 질문
1
287
1
7:10초 설명에 질문 있습니다.
1
268
1
:global() 에서 & 적용이 안되는거 같아요
2
298
1
promise 변수에 초기값 관련 질문입니다.
1
383
2
혹시 vue 처럼 classObject 객체를 통해 제어하는 방법은 없을까요?
1
232
1
onMount 응용해서 적용해보려고 하는데 오류가 나네요.
1
341
1
패키지 설치 시 퍼미션 에러
1
295
1
스토어를 왜 사용하는지 궁금합니다
0
236
1
node-sass 설치 오류
1
2055
2





