TypeScript 스터디 01
타입스크립트의 필요성
자바스크립트의 타입(자료형)은 크게 원시타입과 객체타입으로 구분됩니다.
Primitive Type
- number
- boolean
- string
- null
- undefined
- symbol – ES6
- void – null, undefined
Object Type
- function
- array
- class
자바스크립트는 타입의 제한이 느슨한 언어로, 자바스크립트에서 선언한 변수에는 어떤 타입의 값도 들어갈 수 있습니다. (동적 타입)
이는 프로그램의 유연성은 보장 하지만, 예측 가능하고 안전한 코드를 구현하기는 어렵게 됩니다.
타입스크립트
타입스크립트는 자바스크립트의 슈퍼셋 언어로서, 기존 자바스크립트에 Type System을 적용한 것입니다.
타입스크립트는 정적 타입을 지원하므로, 변수의 정의와 함께 대입할 타입의 값을 지정합니다.
함수의 패러미터, 반환값에는 지정된 타입의 값만 대입할 수 있습니다. 그렇지 않으면 컴파일 시점에 에러를 발생합니다.
타입 추론(Type Inference)
타입 추론이란, 정적으로 타입을 명시하지 않고 대입하는 값을 통해 타입을 유추해 결정하는 것입니다.
let name = 'Kim' // 처음 가진 값이 string
name
이라는 변수는 string
타입이 됩니다. 이 변수는 이후의 코드에서도 계속 string
타입만 담을 수 있습니다.
let name // 처음에 값을 대입 하지 않음
name = 'Kim'
name
이라는 변수는 any
타입이 되어 자바스크립트 처럼 어떠한 타입도 담을 수 있는 변수가 됩니다.
이 경우 컴파일 시점에 해당 변수에 대한 타입 검사를 실행하지 않는다고 합니다.
처음부터 변수가 any
타입이라고 선언할 수도 있습니다.
let name: any