데브허브 | DEVHUB | 타입스크릡트 - 객체 타입과 구조적 타이핑
- 타입스크립트의 객체 타입은 자바스크립트 객체와 유사하며, 객체의 구조에 맞춰 타입을 명시적으로 지정합니다. 🧱
- 객체 리터럴을 생성하면 타입스크립트는 해당 속성과 값에 기반하여 객체 타입을 자동으로 추론합니다. 🔍
- 존재하지 않는 속성에 접근하거나 타입이 일치하지 않는 값을 할당하면 타입 에러가 발생하여 코드 안정성을 높입니다. 🚫
- 객체 타입을 명시적으로 선언하여 반복적인 타입 지정을 줄이고 코드의 일관성을 유지할 수 있습니다. ✍️
type 키워드를 사용한 '별칭 객체 타입' 선언은 실무에서 가장 흔히 사용되는 방법으로, 타입 재사용성과 가독성을 크게 향상시킵니다. ✨
- 타입스크립트의 '구조적 타이핑'은 타입의 이름이 아닌 객체의 실제 구조(속성 및 타입)가 일치하면 서로 호환 가능하다고 판단합니다. 🏗️
- 객체에 정의된 모든 필수 속성이 없거나, 할당된 값의 타입이 일치하지 않으면 오류가 발생하여 엄격한 타입 검사를 수행합니다. 🚨
- '초과 속성 검사'를 통해 객체 리터럴에 정의된 타입 외의 불필요한 속성이 포함될 경우 에러를 발생시켜 잠재적 버그를 방지합니다. ➕
- 객체 타입은 다른 객체 타입을 속성으로 가질 수 있는 '중첩된 객체 타입'을 지원하며, 이를 별칭 타입으로 분리하여 관리할 수 있습니다. 🧩