TypeScript
Type alias(타입 변수)
농담농담
2022. 8. 15. 23:18
// Type Aliases (별칭)
type Coffee = { name: string, cost: number};
let 커피1: Coffee = { name: '아메리카노', cost: 4000};
let 커피2: { name: string, cost: number} = { name: '카페라떼', cost: 5000};
타입도 변수처럼 선언해서 쓰는 것. 위 처럼 object 타입도 저장 가능하다. 커피1은 선언한 타입변수를 사용한것.
커피2는 타입을 지정해준것.
type Animal = string | number | undefined;
let 동물 :Animal;
최근에 ES6 공부할 때 , 아래와 같은 상황을 봤는데 예상과 달리 타입스크립트에서도 막을 수 없다더라.
따라서 객체 내 값을 잠궈주려면 readonly를 사용한다.
readonly는 컴파일시 에러를 내는 것일 뿐 변환된 js 파일을 보면 바뀌어 있긴하다.
아마 Object.freeze + 'use strict'가 제일 철저한듯.
선언해놓은 타입으로 유니온타입도 가능하다.
type PositionX = { x: number };
type PositionY = { y: number };
type XandY = PositionX & PositionY
let 좌표 :XandY = { x : 1, y : 2 }
object 에 지정한 타입의 경우 위와 같은 방식으로 합치기도 가능하다.
타입 키워드는 재정의가 불가능 하다.