‘타입스크립트(TypeScript)’의 최신 GA 릴리즈에 Promise 재귀를 모델링하기 위한 새로운 Awaited 유틸리티 유형이 도입됐다. 한편 노드.js용 ESCA스크립트 모듈 지원은 다음 버전으로 연기됐다.
자바스크립트에 정적 타입 문법을 적용한 오픈소스 프로그래밍 언어의 최신 릴리즈 ‘타입스크립트 4.5’가 정식 출시됐다.
이번 릴리즈에는 새로운 유틸리티 유형(Awaited)이 추가됐다. async 함수의 await 또는 Promises 객체의 .then() 메소드와 같은 모델링 작업을 지원한다. 하지만 이와 함께 타입스크립트 4.5에서 지원될 예정이었던 노드.js 12의 ECMA스크립트 모듈(ECMAScript Module; ESM)은 다음 버전으로 미뤄졌다.
마이크로소프트에 따르면 타입스크립트와 연동할 수 있는 노드.js는 지난 몇 년 동안 재사용을 위해 자바스크립트 코드를 패키징할 수 있는 ECMA스크립트 모듈을 지원하고자 해왔다. 노드.js가 다른 모듈 시스템(CommonJS)에 구축됐기 때문에 이를 지원하기 어려웠지만 이제 노드.js의 ESM 지원이 노드.js 버전 12 이상에서 대부분 구현됐다고 회사 측은 밝힌 바 있다.
타입스크립트 4.5의 릴리즈 캔디데이트는 지난 11월 2일 공개됐으며, GA 버전은 11월 17일 발표됐다. 누겟(NuGet) 또는 NPM을 통해 설치할 수 있다.
npm install typescript
이 밖에 타입스크립트 4.5의 새로운 기능 및 개선사항은 다음과 같다.
• JSON 파일의 과도한 realpath 호출로 인해 --build 모드에서 성능 회귀가 추가됐다.
• node_modules의 lib 설정을 향상하기 위해 특정 내장 lib을 재정의하는 간편한 방법이 추가됐다.
• 속도 향상을 위해 노드.js realpathSync 기능의 시스템 네이티브 구현이 이제 모든 운영체제에서 활용된다. 이전에는 리눅스로 제한됐다.
• JSX 속성에 코드 조각 완성 기능이 제공된다.
• 객체에 프라이빗 필드가 있는지 확인하기 위한 ECMA스크립트 제안을 지원한다. import assertion에도 ECMA스크립트 제안을 지원한다. 이는 가져오기에 필요한 형식이 있는지 확인하기 위해 런타임에서 사용하는 구문이다.
• 해결되지 않는 타입(unresolved types)을 위한 편집기 지원이 개선됐다.
• 이제 템플릿 문자열이 있는 값을 좁힐 수 있다. 템플릿 문자열도 판별자로 인식된다.
• 새로운 module 설정(es2022)이 지원돼 최상위 수준의 await를 제공한다. 즉, 개발자는 async 함수 외부에서 await를 사용할 수 있다.