[typescript] 타입 변환 최적화를 위한 반복문 사용 시의 주의사항
타입스크립트(TypeScript)에서는 종종 배열이나 객체 등의 데이터를 다른 형태로 변환해야 할 때가 있습니다. 이때 for…of나 forEach와 같은 반복문을 사용하여 각 요소를 변환하는 것이 일반적입니다. 그러나 이러한 반복문 사용 시, 타입 변환을 최적화하기 위해 몇 가지 주의해야 할 점이 있습니다.
1. 반복문 내에서 타입 단언 사용
일반적으로 반복문 내에서 요소의 타입을 단언할 필요가 있을 수 있습니다. 이때 다음과 같이 타입 단언 연산자(as)를 사용할 수 있습니다.
const array: unknown[] = [1, 'two', true];
for (const item of array) {
if (typeof item === 'number') {
// item이 number 타입으로 변환된다고 단언
const numberItem: number = item as number;
// numberItem을 사용
}
}
2. 타입 가드 활용
특정 조건에 따라 타입을 변환해야 하는 경우, 타입 가드를 사용하여 해당 요소의 타입을 정확히 추론할 수 있도록 해야 합니다.
interface Dog {
bark(): void;
}
interface Cat {
meow(): void;
}
function isDog(pet: Dog | Cat): pet is Dog {
return (pet as Dog).bark !== undefined;
}
const pets: (Dog | Cat)[] = [/* ... */];
for (const pet of pets) {
if (isDog(pet)) {
// pet은 Dog 타입으로 변환된다고 단언
pet.bark();
} else {
// pet은 Cat 타입으로 변환된다고 단언
pet.meow();
}
}
결론
반복문을 사용하여 타입 변환을 수행할 때, 타입 단언 연산자나 타입 가드를 활용하여 각 요소의 타입을 정확하게 추론할 수 있도록 해야 합니다. 올바른 타입 추론을 통해 타입 변환의 최적화를 실현할 수 있으며, 코드의 안정성을 높일 수 있습니다.
더 많은 정보를 원하시면, TypeScript 공식 문서를 참고해 주세요.