Typescript - 타입 주석과 타입 추론

타입스크립트의 장점 중 하나가 자바스크립트와 달리 명시적으로 타입(Type)을 정의해서 활용할 수 있다는 부분입니다. 개인적으로는 Type을 타입이라고 부르기보다는 유형이라고 생각하는 게 개념적으로 이해하기에는 좋다고 생각하는데요. 이번 글에서는 타입 스크립트가 가지는 타입 주석과 타입 추론에 대해 알아보겠습니다.

타입 주석 - type annotation

let n: number;
let b: boolean;
let s: string;

타입 주석은 변수에 할당되는 값의 유형을 정의하는 타입스크립트 문법입니다. 사용 방법은 변수를 선언하고 콜론(:)과 변수에 정의할 수 있는 값의 유형을 기입하면 됩니다. number는 숫자를 boolean은 true, false은 string은 문자를 받을 수 있다는 의미를 가집니다.

let what: any = 1;
console.log(what);
// out: 1

what = true;
console.log(what);
// out: true

what = 'Hello';
console.log(what);
// out: Hello

what = {};
console.log(what);
// out: {}

 타입의 유형 중에는 모든 유형의 값을 받을 수 있는 any 타입이 있습니다. 다만 값의 타입을 any를 써서 정의하면 타입을 쓰지 않는 것과 같기 때문에 any 타입 사용을 추천하지 않습니다.

타입 추론 - type interface

let n = 1;
let b = true;
let s = 'Hello';

타입 추론은 타입 주석(type annotation) 없이 변수의 유형을 정의하는 결정하는 문법입니다. 예제 코드와 같이 타입 주석을 생략하고 대입되는 값을 통해 변수 타입을 결정합니다. 매번 타입 주석을 사용하지 않아도 손쉽게 변수 유형을 정의하고 사용할 수 있게 해주는 방법입니다.

그런데 타입(Type)은 왜 사용하는 걸까?

자바스크립트가 대신 타입스크립트를 쓰는 이유와 동일하다고 볼 수 있는데, 타입을 사용하는 이유는 타입을 통해 개발의 생산성과 유지보수성을 높이기 위함이 큽니다.

 

 자바스크립트가 단편적으로 사용할 때는 정해진 형식이 없어 자유로웠지만 오래 그리고 많이 사용하면 사용할수록 몸집이 커지면서 복잡한 골칫덩이가 되어버렸습니다. 그리고 이는 개발자에게 고스란히 부담으로 다가왔습니다. 그래서 말 그대로 Type + Javascript를 합쳐서 사용하기로 합니다. 조금은 덜 자유롭지만 개발에 부담을 덜 수 있도록 말이죠.

 

 간단한 코드이지만 자바스크립트에서는 실행하고 기능을 사용하기 전까지 알 수 없던 문제들이 타입스크립트에서는 코드를 작성함과 동시에 알 수 있습니다.

타입스크립트 - 타입 주석과 다른 유형의 값을 할당

 스크린샷을 보면 알 수 있듯이 타입스크립트 코드에서는 타입 주석을 사용해 정의 한 유형과 다른 유형의 값을 할당하면 컴파일 없이도 코드에 문제가 있음을 알 수 있습니다.

 

반응형

댓글

Designed by JB FACTORY