데브허브 | DEVHUB | 입문자를 위한 타입스크립트 마스터 클래스 Feat. 4hours입문자를 위한 타입스크립트 마스터 클래스 Feat. 4hours
- 타입스크립트는 자바스크립트의 상위 호환 언어로, 타입 시스템을 통해 코드의 안정성을 높입니다. 🛡️
- 타입스크립트는 변수의 초기값을 바탕으로 타입을 자동으로 추론하며,
.ts 파일에서 이 기능이 활성화됩니다. 🧠
- 자바스크립트의 기본 원시 타입(string, number, boolean 등)을 모두 지원하며, 계산된 초기값도 영리하게 유추합니다. 💡
- 타입 시스템은 코드를 읽고, 각 값의 타입을 확인하며, 타입과 일치하지 않는 사용법에 대해 오류를 발생시켜 개발 시점에 문제를 감지합니다. 🐞
- '할당 가능성'은 변수에 새로운 값이 할당될 때 기존 타입과 동일한지 확인하여 타입 오류를 방지하는 기능입니다. 🔄
- 초기값이 없는 변수는 기본적으로 'any' 타입으로 간주되는데, 이를 '진화하는 any'라고 부르며, 타입스크립트의 장점을 극대화하기 위해 명시적인 타입 선언이 권장됩니다. 🚫
- '유니언 타입'은 값에 허용된 타입을 두 개 이상의 가능한 타입으로 확장하는 개념으로,
Type1 | Type2 형태로 선언하며 순서는 중요하지 않습니다. ➕
- 유니언 타입의 속성에 접근할 때는 유니언에 포함된 모든 타입이 공통적으로 가지고 있는 멤버 속성만 직접 접근할 수 있습니다. 🤝
- '내로잉'은 값의 타입을 이전에 알려진 것보다 더 구체적으로 좁히는 과정으로, 타입 가드(조건 검사,
typeof 연산자 등)를 통해 이루어집니다. 🤏
typeof 연산자를 통한 내로잉은 조건 검사보다 더 안정적으로 타입을 좁혀 코드의 예측 가능성을 높입니다. 🔍
- '리터럴 타입'은
const로 선언된 변수에 할당된 특정 리터럴 값 자체가 타입으로 지정되는 것을 의미하며, let과는 다르게 동작합니다. 🎯
- 리터럴 타입은 유니언 타입과 함께 사용하여 특정 값들 중 하나만 허용하도록 타입을 정의할 수 있습니다. 🔢
- 초기값이 없는 변수는 타입스크립트가
undefined로 인지하며, 명시적으로 undefined를 포함하지 않는 타입으로 선언된 변수는 할당 전 사용 시 오류를 발생시킵니다. ❓