[typescript] 유니온 타입(union type)과 인터섹션 타입(intersection type) 활용

TypeScript는 JavaScript에 정적 타입을 추가한 언어로, 코드의 안정성을 높이고 실수를 줄일 수 있습니다. 이번 글에서는 유니온 타입과 인터섹션 타입을 사용하여 TypeScript 코드를 작성하는 방법에 대해 알아보겠습니다.

유니온 타입(Union Types)

유니온 타입은 파이프( )를 사용하여 두 개 이상의 타입을 허용하는 방법입니다. 이를 통해 변수가 여러 타입을 가질 수 있도록 지정할 수 있습니다.
function displayEmployeeId(employeeId: string | number) {
    console.log(employeeId);
}

displayEmployeeId("E123"); // string
displayEmployeeId(456); // number

위 예제에서 displayEmployeeId 함수는 string 또는 number 타입을 매개변수로 받을 수 있습니다. 이를 통해 코드의 유연성을 높일 수 있습니다.

인터섹션 타입(Intersection Types)

인터섹션 타입은 앰퍼샌드(&)를 사용하여 두 개 이상의 타입을 결합하는 방법입니다. 이를 통해 두 개 이상의 타입을 가진 새로운 타입을 생성할 수 있습니다.

interface Employee {
    empId: string;
    empName: string;
}

interface Department {
    deptId: string;
    deptName: string;
}

type EmployeeWithDepartment = Employee & Department;

const emp: EmployeeWithDepartment = {
    empId: "E123",
    empName: "John Doe",
    deptId: "D001",
    deptName: "Engineering"
};

위 예제에서 EmployeeWithDepartment 타입은 EmployeeDepartment 인터페이스의 속성을 모두 가지고 있습니다.

결론

유니온 타입과 인터섹션 타입은 TypeScript에서 코드를 작성할 때 유용하게 활용할 수 있는 기능입니다. 유니온 타입은 여러 타입을 허용함으로써 유연성을 높이고, 인터섹션 타입은 여러 타입을 결합하여 새로운 타입을 생성할 수 있습니다.

이를 통해 코드의 가독성과 안정성을 높일 수 있으며, JavaScript 개발을 보다 안정적이고 효율적으로 할 수 있습니다.

참고 문헌:

이상으로 TypeScript의 유니온 타입과 인터섹션 타입에 대해 알아보았습니다. 감사합니다.