[typescript] typeof 타입 가드
보통 typeof 타입 가드는 다음과 같이 사용됩니다:
function printAll(strs: string | string[] | null) {
if (typeof strs === "object") {
for (const s of strs) { // (parameter) strs: string | string[] | null 오류 발생
console.log(s);
}
} else if (typeof strs === "string") {
console.log(strs);
} else {
console.log("Nothing to print.");
}
}
위 예제에서 typeof를 사용하여 변수 strs의 타입을 확인하여 해당하는 블록을 실행하도록 하고 있습니다. 이를 통해 변수의 타입을 더 정확하게 판단할 수 있으며, 코드의 가독성과 유지보수성을 높일 수 있습니다.
참고 문헌:
- TypeScript 공식 문서. “Type Guards.” URL: https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types