본문 바로가기
FrontEnd/TypeScript

exactOptionalPropertyTypes

by 해학 2024. 1. 26.
728x90

타입스크립트 게시물 입니다.

TSconfig.json 속성 중 compilerOptions 옵션입니다.

선택적 속성(optional property) 유형을 활성화 또는 비활성화하는 데 사용


 

선택적 속성( optional property ) ?

TypeScript 에서 객체 타입을 정의할 때, 특정 속성이 반드시 필요하지 않고 선택적으로 존재할 수 있음을 나타내는 속성입니다.

선택적 속성은 속성 이름 뒤에 " ? " 기호를 붙여서 정의합니다.
예시 )
type MyType = {
  prop1: string;
  prop2?: number;
};
// prop2는 선택적 속성입니다.

const myObject: MyType = {
  prop1: "Hello,",
  // prop2: 42, // prop2를 생략해도 됨
};
// prop2를 생략해도 타입이 유효하며, myObject는 MyType의 유효한 인스턴스가 됩니다.
주로 객체의 일부 속성만 필요한 경우에 유용하게 사용하여, 부 라이브러리와 상호 작용하거나 다양한 구조의 데이터를 다룰 때 좋습니다.

 

EXAMPLE

예시 1 )
const settings = getUserSettings();
settings.colorThemeOverride = "dark";
settings.colorThemeOverride = "light";
 

settings.colorThemeOverride = undefined;
// 정의되지 않은 것과 비교하여 에러가 발생하는 것을 방지합니다.

 

속성 종류

 

true   정확한 선택적 속성 허용
false ( 기본  ) 정확한 선택적 속성 비 허용

 

728x90

'FrontEnd > TypeScript' 카테고리의 다른 글

baseUrl  (0) 2024.01.29
noFallthroughCasesInSwitch  (0) 2024.01.29
exclude  (0) 2024.01.25
allowUnusedLabels  (0) 2024.01.24
alwaysStrict  (0) 2024.01.23