TypeScript 4.0 발표
(devblogs.microsoft.com)- Variadic* Tuple Type 지원
ㅤ→ Generic 타입 스프레드 가능
ㅤ→ `...` 연산자가 중간에도 올수 있음.
- Tuple 에 Label 지원
- &&=, ||=, ??= 연산자 추가
- catch의 타입을 unknown 또는 any 로 지정 가능
ㅤ→ unknown 으로 하면 처리전에 typeof/instanceof 등으로 타입체크를 꼭 해야 한다는 것을 명시 하는 것
- JSX 사용시 jsxFragmentFactory 로 사용자 정의 가능
- 생성자로부터 속성 타입 추론 가능
- --noEmitOnError 옵션 사용시에도 이전 컴파일 결과 캐시하여 빌드 속도 개선
- -incremental 과 --noEmit 옵션 함께 사용 가능
에디터 개선 (Visual Studio Code)
- Optional Chaining & Nullish Coalescing 자동 변환 기능
- /** @deprecated */ 지원
- 시작시 Partial Semantic Mode 지원 - 큰 프로젝트 로딩시 걸리는 시간을 줄이기 위해 열려있는 일부 코드파일에만 적용되는 가벼운 서버를 실행하는 것
- 더 똑똑한 Auto-Import 기능
Breaking Changes
- lib.d.ts 의 DOM 관련 타입들 변경
ㅤ→ document.origin 제거하고 self.origin 사용 권고
- 부모 클래스의 getter/setter 를 Override하면 항상 오류 표시
- strictNullChecks 상태일 때 delete 의 피연산자는 any, unknown, never 또는 optional 이어야 함
* Variadic : 고정되지 않은 갯수의 인자를 받는 것을 의미. 예) printf 의 인자들
3.0때 만큼의 큰 변화는 없음
ㅤ→ 그래서 TypeScript 안써봤다면 지금이 바로 적기! 라고 글 앞쪽에 홍보문구가 적혀 있네요.
스택오버플로우의 개발자 설문조사에서도 선호 언어에서 Rust 에 이어서 2위입니다.