[typescript] 옵셔널 필드의 유효성 검사 방법

1. 옵셔널 체이닝 연산자와 널 병합 연산자 사용

옵셔널 필드를 검사할 때, 옵셔널 체이닝(?.) 연산자와 널 병합(??) 연산자를 사용하여 필드가 존재하는지 확인할 수 있습니다.

interface MyData {
  optionalField?: string;
}

const data: MyData = { optionalField: "someValue" };

const fieldValue = data.optionalField?.toUpperCase() ?? "default";
console.log(fieldValue); // 출력: "SOMEVALUE"

2. 타입 가드 활용

옵셔널 필드를 다룰 때 타입 가드를 활용하여 해당 필드의 존재 여부를 확인할 수 있습니다.

interface MyData {
  optionalField?: string;
}

function isOptionalFieldValid(data: MyData): data is { optionalField: string } {
  return !!data.optionalField;
}

const data: MyData = { optionalField: "someValue" };

if (isOptionalFieldValid(data)) {
  console.log(data.optionalField.toUpperCase()); // 출력: "SOMEVALUE"
} else {
  console.log("Optional field is invalid or missing");
}

3. 조건부 필드 유효성 검사

옵셔널 필드의 값에 따라 다른 유효성 검사를 수행해야 하는 경우, 조건부 필드 유효성 검사를 활용할 수 있습니다.

interface MyData {
  optionalField?: string;
}

const data: MyData = { optionalField: "someValue" };

if (data.optionalField !== undefined) {
  console.log(data.optionalField.toUpperCase()); // 출력: "SOMEVALUE"
} else {
  console.log("Optional field is not provided");
}

위의 예시들을 통해 옵셔널 필드의 유효성을 검사하는 방법에 대해 알아보았습니다. 이러한 방법들을 활용하여 TypeScript 코드에서 옵셔널 필드를 안전하게 다룰 수 있습니다.