2장: 타입스크립트 기초 – 변수, 타입, 타입 추론
타입스크립트의 기초: 변수, 타입, 타입 추론
본격적으로 타입스크립트를 익히기 전에, 핵심적인 세 가지 개념—변수 선언, 데이터 타입, 그리고 타입 추론—에 대해 짚고 넘어가겠습니다. 이 부분은 타입스크립트의 탄탄한 뼈대를 이루는 기본입니다.
변수 선언: let, const, 그리고 타입스크립트의 방식
타입스크립트에서 변수는 let
이나 const
키워드를 이용해 선언합니다. 이는 자바스크립트와 동일하지만, 타입스크립트에서는 변수에 명시적으로 타입을 붙일 수도 있습니다. 예를 들어 let message: string = "안녕하세요";
처럼 작성하면, message 변수에는 오직 문자열만 들어올 수 있음을 명확히 나타냅니다. 타입을 지정하지 않아도, 타입스크립트는 초깃값을 토대로 타입을 알아서 판단합니다. 이를 아래의 타입 추론 파트에서 자세히 다루겠습니다.
데이터 타입: 코드의 신뢰도를 높이는 첫걸음
타입스크립트는 자바스크립트에 존재하지 않는 정적 타입 시스템을 도입합니다. 대표적인 데이터 타입으로는 number
, string
, boolean
, array
(배열), object
(객체), 그리고 any
, unknown
, void
, null
, undefined
등이 있습니다. 각 타입을 변수 옆에 콜론(:)과 함께 명시함으로써, 의도치 않은 데이터 타입이 할당되는 오류를 방지할 수 있습니다.
예시:
let age: number = 25;
let userName: string = 'Kim';
let isActive: boolean = true;
배열의 경우는 다음과 같이 표기합니다:
let scores: number[] = [100, 97, 82];
타입 추론: 명시하지 않아도 타입이 정해진다
타입스크립트의 가장 큰 장점 중 하나는 '타입 추론' 기능입니다. 즉, 변수를 선언하면서 값을 함께 할당하면 굳이 타입을 명시하지 않아도 컴파일러가 스스로 타입을 결정해줍니다. 예를 들어, let greeting = "Hello";
라고만 써도 greeting 변수는 자동으로 문자열인 것으로 간주됩니다.
이러한 타입 추론은 변수뿐 아니라 함수의 매개변수 기본값, 반환값 등에도 적용됩니다. 덕분에 반복적인 타입 선언을 최소화하고, 코드가 더욱 간결해집니다. 하지만, 복수 타입이 섞인 상황에서는 가장 일반적인 공통 타입으로 추론하게 되므로 의도와 달라질 수 있습니다. 이런 경우에는 타입을 직접 지정해주는 것이 안전합니다.
타입 추론이 이끄는 안전한 개발
자바스크립트에서는 변수의 타입이 자유롭게 바뀌기 때문에 예기치 않은 오류가 발생하기 쉽습니다. 타입스크립트에서는 타입 추론과 명시적 타입 지정 덕분에, 변수나 함수의 의도를 명확히 하고, 많은 버그를 미리 막을 수 있습니다. 이는 협업뿐 아니라 코드 유지 보수의 관점에서도 큰 이점입니다.
요약: 다음 단계로 가는 징검다리
타입스크립트의 변수 선언, 다양한 데이터 타입, 그리고 타입 추론 메커니즘을 이해한다면, 더욱 안전하고 명확한 코드를 작성할 수 있습니다. 다음 장부터는 더 깊이 있는 타입 제어와 구조화된 데이터 다루기 등, 실제 업무에 즉시 활용할 수 있는 내용으로 나아갑니다.