왜 데이터 타입이 그렇게 중요한가?
자바스크립트의 변수에는 어떤 데이터 타입의 값도 할당 될 수 있습니다. 예를들어봅시다.
let myname = 'egoing';
그런데 누군가 myname을 실수로 아래와 같이 변경했습니다.
myname = 1;
자바스크립트는 이런 문제를 사전에 막아주지 못합니다. 사용자가 프로그램을 사용하다가 나중에 버그를 발견하게 됩니다. 이런 문제로 인해서 원자력 발전소가 중지 될 수 있고, 우주선이 추락할 수도 있습니다.
타입스크립트는 어떻게 이런 문제를 해결할까요?
변수에 데이터 타입을 지정하는 방법
타입스크립트는 변수 선언 시 데이터 타입을 지정합니다. 이렇게하면, 타입스크립트를 자바스크립트로 컴파일 할 때 데이터 타입에 다른 값이 할당되려 할 때 오류를 발생시켜 개발자에게 알려줍니다. 이를 통해 코딩할 때 버그를 잡을 수 있습니다. 방법은 다음과 같습니다.
let myname: string = 'egoing';
위 예시에서는 myname
변수에 string
타입을 지정했습니다. 이제 myname
에 숫자 타입을 할당하려 하면, 컴파일 에러가 발생합니다.
// 아래 코드는 오류를 발생시킵니다. myname = 1;
데이터 타입의 종류
타입스크립트에서는 다양한 데이터 타입을 지원합니다. 이러한 데이터 타입은 크게 기본 데이터 타입, 객체 타입, 특수 타입으로 나눌 수 있습니다.
기본 데이터 타입
number
: 숫자 타입으로, 정수와 실수를 포함합니다.string
: 문자열 타입입니다.boolean
: 참(true)과 거짓(false)을 나타내는 불리언 타입입니다.null
: 값이 없음을 나타내는 타입입니다.undefined
: 값이 할당되지 않은 변수의 기본값인 타입입니다.
객체 타입
object
: 객체를 나타내는 타입입니다.array
: 동일한 타입의 요소를 가진 배열을 나타내는 타입입니다.tuple
: 각 요소가 다른 타입을 가질 수 있는 배열을 나타내는 타입입니다. (TS 전용)
특수 타입
any
: 어떠한 타입이든 할당될 수 있는 타입입니다. (TS 전용)unknown
: 타입을 미리 알 수 없는 경우에 사용되는 타입입니다. 이 타입은 안전한 타입 검사를 위해 사용됩니다. (TS 전용)never
: 절대 발생하지 않는 값의 타입을 나타냅니다. 예를 들어, 함수가 항상 예외를 발생시키거나 무한 루프를 실행할 때 이 타입을 사용할 수 있습니다. (TS 전용)
타입 추론 기능
타입스크립트는 타입 추론 기능을 통해 변수의 타입을 자동으로 판단할 수 있습니다. 즉, 명시적으로 타입을 지정하지 않아도 타입스크립트 컴파일러가 초기에 할당된 값을 바탕으로 변수의 타입을 추론합니다. 예를 들어 다음과 같은 코드를 살펴봅시다.
let age = 30;
위 코드에서 age
변수에 명시적으로 타입을 지정하지 않았지만, 초기 값으로 숫자 30을 할당했습니다. 이때 타입스크립트는 age
변수의 타입을 자동으로 number
로 추론합니다.
타입 추론은 코드를 간결하게 작성할 수 있도록 도와주지만, 때로는 명시적으로 타입을 지정하는 것이 더 명확할 수 있습니다. 타입 추론이 모호한 경우나 복잡한 로직에서는 타입을 명시해주는 것이 좋습니다.
이렇게 타입스크립트의 데이터 타입을 이용하면, 코드의 안정성을 높이고 개발자들이 더 효율적으로 협업할 수 있습니다. 다음 강의에서는 타입 변환과 관련된 내용을 알아보겠습니다. 감사합니다!