[typescript] 유니온 타입과 널 병합 연산자(Nullish Coalescing Operator)의 차이점은 무엇인가요?

유니온 타입

유니온 타입(Union Types)은 여러 타입 중 하나가 될 수 있는 값을 선언할 때 사용됩니다. 예를 들어, number | string은 숫자 혹은 문자열이 될 수 있는 값을 나타냅니다.

예시:

function displayData(value: number | string) {
    console.log(value);
}

displayData(10); // 유효
displayData("Hello"); // 유효
displayData(true); // 무효 - 유니온 타입에 포함되지 않는 값

널 병합 연산자 (Nullish Coalescing Operator)

널 병합 연산자(??)는 피연산자가 null 또는 undefined인 경우 대체값으로 사용됩니다. 이를테면, a ?? banull 또는 undefined이면 b를 반환하고, 그렇지 않으면 a를 반환합니다.

예시:

const result = userInput ?? "기본값";
console.log(result);

따라서, 유니온 타입과 널 병합 연산자는 서로 다른 용도에 사용되며, 각각 다른 상황에서 유용합니다.

자세한 정보는 TypeScript 공식 문서를 참고하시기 바랍니다.