inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Svelte.js [Core API] 완벽 가이드

5. 스토어

[질문] 세미콜론 생략에 대해서

해결된 질문

906

hellofrontdev

작성한 질문수 15

2

강사님께서는 세미콜론을 생략하시는 이유가 있으신가요?

제가 알고 있기론 자바스크립트 엔진이 코드를 해석하면서

세미콜론이 없다면 자동으로 세미콜론을 붙여준다고 알고 있

고 이를 명시적으로 붙여주지 않는 경우 때에 따라 오류가

발생할 소지가 있다고 알고 있습니다. 이에 대해서는 의견이

분분한것으로 알고 있는데요. 강사님은 어떻게 생각하시는지

궁금해서 질문드립니다.

Rollup Sortable svelte

답변 2

6

HEROPY

저 같은 경우는 Vue나 Svelte 같이 컴파일(별도 자바스크립트로 변환)이 되고 나름대로 확실한 경우에는 생산성 향상을 위해 세미콜론을 붙이지 않습니다.

컴파일하면 세미콜론이 자동으로 붙거든요.

물론 관련해 모든 환경이 100% 완벽한 컴파일을 보장하는지는 모르겠습니다.

99%일 수도 있고 98%일 수도 있고 더 낮을 수도 있겠지만,

경험상 .vue나 .svelte 파일에서 세미콜론 때문에 문제가 된 적은 아직 없네요.

.

그런데 Node.js 런타임에서 동작하는 코드는 세미콜론을 붙입니다.

말씀하신 대로 명시적이지 않는 경우 문제가 될 수 있다고 알고 있고,

실제로 문제가 되는 경우가 한 번 있었습니다.

오래돼서 그 사례가 생각나진 않는데, '이래서 세미콜론을 붙여야겠구나'라고 생각하고 이후론 Node.js 코드는 세미콜론을 붙여서 작성합니다.

아마 직접적으로 해당 .js 파일이 동작해서 그런 듯합니다.

.

세미콜론 작성이 생각보다 생산성이 많이 떨어집니다.

세미콜론이 없으면 얼마나 많은 키 입력이 절약되는지 단순 계산만 하셔도 아실 겁니다.

코드 추가/수정/삭제뿐만 아니라, 특히 아직 완벽하지 않은 코드를 작성할 때(테스트할 때), 정말 많이 불편합니다.

.

저는 주로 프론트엔드 코드를 작성하고 대부분 세미콜론을 안 붙이다 보니 항상 세미콜론을 생략하다가, 

필요할 때만(백엔드 코드를 작성하거나..) 따로 세미콜론을 붙입니다.

(가끔 습관 때문에 깜빡하는 경우도 있습니다)

.

정리하자면, '상황에 맞게 붙이거나 붙이지 않는다'가 저의 입장입니다.

혹시나 세미콜론을 붙이는 편하시다면 굳이 습관을 바꿀 필요는 없다고 생각합니다.

2

hellofrontdev

좋은 말씀 감사드립니다!

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