변수에 담는 타입 (4)

2024. 9. 12. 01:27타입스크립트

728x90
반응형
let 자동차 :string | number | undefined;

 

이렇게 길게 타입을 나열하는 경우가 있습니다.

이러하 경우 변수에 담아쓰면 됩니다. 변수만드는 것 처럼 type 이라는 키워드를 쓰면 됩니다. 

type Car = string | number | undefined;
let 자동차 :Car;

 

type 타입변수명 = 타입종류

타입을 변수처럼 만들어서 쓰는 alias 문법입니다. 관습적으로 대문자로 시작합니다. 

일반 자바스크립트 변수랑 차별을 두기 위해 Car Type 이런 식으로 작명하는게 어떨까요. 

 

let teacher :{
  name : string,
  age : number,
} = { name : 'john', age : 20 }

 

object 타입 저장 방법

type 사람 = {
  name : string,
  age : number,
}

let teacher :사람 = { name : 'john', age : 20 }

 

readonly로 잠그기

const 출생지역 = 'seoul'; 
출생지역 = 'busan'; //const 변수는 여기서 에러남

 

const 여친 = {
  name : '엠버'
}
여친.name = '유라';  //const 변수지만 에러안남

 

object 자료를 const에 집어넣어도 object 내부는 마음대로 변경가능합니다. 

const 변수는 재할당만 막아줄 뿐이지 그 안에 있는 object 속성 바꾸는 것 까지 관여하지 않기 때문입니다. 

 

type 을 여러개를 합치는 방법

type Name = string;
type Age = number;
type NewOne = Name | Age;

OR 연산자를 이용해서 Union type을 만들 수도 있습니다. 

위 코드에서 NewOne 타입에 마우스 올려보시면 string | number라고 나옵니다.

 

type PositionX = { x: number };
type PositionY = { y: number };
type XandY = PositionX & PositionY
let 좌표 :XandY = { x : 1, y : 2 }

object에 지정한 타입의 경우 합치기도 가능합니다. & 기호를 쓴다면 object 안의 두개의 속성을 합쳐줍니다. 

위 코드에서 XandY 타입은 { x : number, y : number } 이렇게 정의되어있을 겁니다.