studye / typescript

타입스크립트는 자바스크립트랑 다른 언어인가요?
7 stars 0 forks source link

[typescript - 2.3] 새로 도입된 옵션 #45

Open sangwook-kim opened 7 years ago

sangwook-kim commented 7 years ago

--strict master option

버전이 올라가면서 뒤늦게 추가된 제약사항들은 기존 프로젝트를 위해서 컴파일시 체크를 하지 않도록 꺼져있다. 컴파일러가 최고 수준으로 코드를 검사하기 원한다면 이 옵션을 켜도록 하자. 2.3 기준으로 --strict 옵션은 --strictNullChecks, --noImplicitAny, --noImplicitThis, --alwaysStrict 옵션들의 합과 같다. false 값을 활용하여 일부 옵션을 해제하는 방법도 사용할 수 있다.

--strict --noImplicitThis false

근데 tsc 2.3 으로 프로젝트 생성하면 (tsc --init) 기본으로 "strict": true 값이 tsconfig.json에 선언 됨

Enhanced --init output

tsc --init 해서 생성되는 tsconfig.json을 보면, 주석이 잘 달려있는 온갖 컴파일러 옵션을 볼 수 있음. 이중 필요한 것을 un주석해서 사용하도록 하자.

Errors in .js files with --checkJs

이 옵션을 사용하면 javascript의 타입 오류도 보고한다고 함. 이 옵션을 켜고, 오류를 확인하지 않을 js 파일에는 // @ts-nocheck 주석을 추가하면 됨. 반대로 --checkJs 옵션을 켜지 않고 // @ts-check 주석을 사용해도 됨. 특정 라인의 코드만 확인을 하지 않는 경우 // @ts-ignore를 사용할 수 있음. 그 외에 javascript에서 실수로 typescript 문법을 사용하지 않는지 검사는 기본으로 해줌.