[typescript] 조건문에서의 가독성을 높이기 위한 권장 사항
조건문은 프로그램에서 매우 중요한 부분이며, 특히 가독성을 높이는 데에 중요한 역할을 합니다. TypeScript를 사용하는 경우에도 조건문을 사용할 때 가독성을 높이기 위해 몇 가지 권장 사항이 있습니다.
타입 가드 활용
타입 가드(Type Guard)를 활용하여 조건문 내에서 타입을 체크하는 것이 중요합니다. 이를 통해 코드의 가독성을 높일 뿐만 아니라 프로그램의 안정성을 높일 수 있습니다. 아래는 typeof
와 instanceof
를 사용한 타입 가드의 예시입니다.
interface Bird {
fly(): void;
}
interface Fish {
swim(): void;
}
function getPet(): Bird | Fish {
// ...
}
let pet = getPet();
if ("fly" in pet) {
pet.fly(); // TypeScript는 이 시점에서 pet을 Bird 타입으로 이해합니다.
} else {
pet.swim(); // TypeScript는 이 시점에서 pet을 Fish 타입으로 이해합니다.
}
분산된 조건문 대신 Union Types 사용
가능한 경우, Union Types를 사용하여 분산된 조건문을 대체하는 것이 좋습니다. 이를 통해 코드를 단순화하고 가독성을 높일 수 있습니다.
type Result = { success: true, value: number } | { success: false, error: string };
function processResult(result: Result) {
if (result.success) {
console.log(result.value);
} else {
console.error(result.error);
}
}
태그된 유니언 사용
태그된 유니언(Tagged Union)을 활용하여 조건문에서 보다 명확한 로직을 구현할 수 있습니다. 다음 예시를 통해 태그된 유니언의 활용을 살펴보겠습니다.
type Square = { kind: "square", size: number };
type Rectangle = { kind: "rectangle", width: number, height: number };
function getArea(shape: Square | Rectangle): number {
switch (shape.kind) {
case "square":
return shape.size * shape.size;
case "rectangle":
return shape.width * shape.height;
}
}
조건문을 작성할 때 위의 권장 사항을 고려하여 코드의 가독성을 향상시키고 유지보수성을 높일 수 있습니다.
이상으로 TypeScript 조건문에서의 가독성을 높이기 위한 권장 사항에 대해 알아보았습니다. 함께 적용해보시기 바랍니다.