본문 바로가기
front/ts

[The Basics] Emitting with Errors

by juniKang 2022. 5. 16.

에러 표시하기

마지막 예제에서 알아보지 않은 한가지는hello.js파일이 다시 변경되었다는 것이다. 만약 그 파일을 열면, 컨텐츠가 여전히 우리가 넣은 파일과 같게 보인다. 이 사실이 조금 놀라울 수 있다. tsc가 알려주는 우리 코드에대한 에러, 하지만 이건 기초했다 타입스크립트의 핵심 벨류에 근거했다: 대부분의 시간, 너가 타입스크립트보다 더 잘 안다.

 

다시 말하면, 타입 체킹 코드는 실행할 수 있는 프로그램의 종류에 한계가 있다. 그래서, 타입체커가 찾아서 수용할 수 있는 종류에 트레이드오프가 있다. 대부분의 경우 괜찮지만, 그런 체크들이 겟인더웨이하는 시나리오가 있다. 예를 들면, 상상해라, 자바스크립트 코드를 타입스크립트로 마이그레이션하고 타입체킹에러를 발생시킨다고 상상해보라. 결국 타입 체커를 위해 청소를 해야 한다.하지만 그 오리지널 자바스크립코드를 이미 잘 작동한다! 왜 타입스크립트로 변환하면 실행할 수 없게 될까?

 

그래서 타입스크립트는 방해가 되지 않는다. 물론, 시간이 지남에 따라, 실수로부터 더욱 방어적인 걸 원할 수도 있고, 자입스크립트가 더 엄격해지도록 만들 수도 있다. 그런 경우에는, noEmitOnError 컴파일러 옵션을 사용할 수 있다.  hello.ts 파일을 바꾸고 이 플래그로 tsc를 실행해 보라. 

tsc --noEmitOnError hello.ts

hello.js가 업데이트 되지 않는다는 것을 알게 될 것이다.

'front > ts' 카테고리의 다른 글

[The Basics] Erased Types  (0) 2022.05.16
[The Basics] Explicit Types  (0) 2022.05.16
[The Basics] tsc, the TypeScript compiler  (0) 2022.05.13
[The Basics] Non-exception Failures  (0) 2022.05.13
The TypeScript Handbook  (0) 2022.05.11

댓글