# TypeScript 4.0 발표

> Clean Markdown view of GeekNews topic #2692. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=2692](https://news.hada.io/topic?id=2692)
- GeekNews Markdown: [https://news.hada.io/topic/2692.md](https://news.hada.io/topic/2692.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2020-08-22T09:22:08+09:00
- Updated: 2020-08-22T09:22:08+09:00
- Original source: [devblogs.microsoft.com](https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/)
- Points: 8
- Comments: 1

## Topic Body

- 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 의 인자들

## Comments



### Comment 2649

- Author: xguru
- Created: 2020-08-22T09:22:31+09:00
- Points: 1

3.0때 만큼의 큰 변화는 없음

ㅤ→ 그래서 TypeScript 안써봤다면 지금이 바로 적기! 라고 글 앞쪽에 홍보문구가 적혀 있네요.

스택오버플로우의 개발자 설문조사에서도 선호 언어에서 Rust 에 이어서 2위입니다.
