[typescript] 자바스크립트에서 타입 검사를 수행하는 방법

자바스크립트는 동적 타입 언어로, 변수의 타입을 런타임 시에 결정합니다. 이는 개발자가 의도치 않은 타입 오류를 발생시킬 가능성을 내포하고 있습니다. 하지만 TypeScript를 사용하면 이러한 문제를 사전에 방지할 수 있습니다.

TypeScript란?

TypeScript는 마이크로소프트에서 개발한 정적 타입 언어로, 자바스크립트의 상위집합으로 동작합니다. TypeScript는 컴파일 타임에 타입 검사를 수행하여 개발자가 런타임 시에 타입 오류를 사전에 방지할 수 있도록 도와줍니다.

타입 검사하는 방법

명시적 타입 주석 사용하기

TypeScript에서는 변수나 함수의 타입을 명시적으로 주석으로 표기할 수 있습니다. 이를 통해 해당 변수나 함수의 타입을 명확하게 알 수 있으며, 컴파일 타임에 타입 검사를 수행할 수 있습니다.

예시:

let name: string = "John";
function greet(person: string): string {
    return "Hello, " + person;
}

인터페이스 활용하기

인터페이스를 사용하여 객체의 구조를 명시적으로 정의할 수 있습니다. 이를 통해 객체의 프로퍼티 타입을 사전에 정의하고, 컴파일 타임에 타입 검사를 수행할 수 있습니다.

예시:

interface Person {
    name: string;
    age: number;
}

function printPersonInfo(person: Person) {
    console.log(`Name: ${person.name}, Age: ${person.age}`);
}

타입 가드 활용하기

타입 가드를 사용하여 런타임 시에 동적으로 타입을 확인하고, 해당 타입에 따라 다른 동작을 수행할 수 있습니다. 이를 통해 런타임 시에도 타입 안정성을 유지할 수 있습니다.

예시:

function isNumber(value: any): value is number {
    return typeof value === 'number';
}

function multiply(a: any, b: any) {
    if (isNumber(a) && isNumber(b)) {
        return a * b;
    } else {
        throw new Error('Both arguments must be numbers');
    }
}

마무리

TypeScript를 사용하여 자바스크립트 프로젝트를 개발함으로써 타입 안정성을 확보하고, 런타임 시에 발생할 수 있는 타입 오류를 사전에 방지할 수 있습니다. 이를 통해 안정적이고 확장 가능한 소프트웨어를 개발할 수 있습니다.

자세한 내용은 TypeScript 공식 홈페이지에서 확인할 수 있습니다.