type Animal = string | number | undefined;
let 동물 :Animal;
변수를 선언할 때마다 타입을 적는건 시간도 오래걸리고 가독성에도 좋지 않음
타입 자체를 변수에 담아서 사용할 수 있다!
type 사람 = {
name : string,
age : number,
}
let teacher :사람 = { name : 'john', age : 20 }
object 타입도 가능!
const는 재할당을 막는 변수, 그러나 자바스크립트에서 객체 내부의 내용을 수정하는 건 아무 문제 없었음
type Name = string;
type Age = number;
type NewOne = Name | Age;
type PositionX = { x: number };
type PositionY = { y: number };
type XandY = PositionX & PositionY
let 좌표 :XandY = { x : 1, y : 2 }
or연산자를 사용해서 union type을 만들 수 있음
object에 지정한 타입의 경우 합치기도 가능
type Girlfriend = {
readonly name : string,
}
let 여친 :Girlfriend = {
name : '엠버'
}
여친.name = '유라' //readonly라서 에러
그러나 typescript는 이런식으로 readonly를 걸어줄 수 있고 이를 통해 객체 내용의 변경을 막을 수 있음
type 키워드는 재정의가 불가능함