타입스크립트에서는 변수이름뒤에 :type 의 형태로 변수의 타입을 지정한다. 타입주석, type annotation 이라고한다.
let num1**: number** = 123
Primitive Type은 하나의 값만을 저장하는 타입이다.
// number
let num1: number = 123; //정수
let num2: number = -123; //음수
let num3: number = 0.123; //소수
let num4: number = -0.123; //음의소수
let num5: number = Infinity; //무한대
let num6: number = -Infinity; //음의무한대
let num7: number = NaN; // not a number
// string
let str1: string = "hello";
let str2: string = `hello`;
let str3: string = `hello${num1}`;
// boolean
let bool1: boolean = true;
let bool2: boolean = false;
// null
let null1: null = null
// undefined
let unde1: undefined = undefined;
값 그 자체가 타입이 된다.
numA의 타입을 10이라는 값만을 넣을 수 있게 지정했기 때문에 12를 다시 할당할 수 없다.
let numA:10 = 10;
let strA:'hello' = 'hello';
let boolA: true = true;
**numA = 12;** // 에러
원시타입에 한해 const로 값을 선언하는것과 리터럴 타입을 직접 정의하는것은 큰 차이가 없다.
const로 변수를 선언시 값이 곧 타입이 된다.
// animal의 타입은 string
let animal = 'cat;
// ANIMAL의 타입은 'cat'
const ANIMAL = 'cat';