타입을 미리 정하기 힘들 때

고재현·2023년 8월 6일
0

TypeScript

목록 보기
3/13
post-thumbnail

변수에 타입을 미리 정하기 힘들 때 사용할 수 있는 방법이 몇가지가 있다.

Union type

가장 많이 사용하는 타입이다.
or 연산자처럼 | 기호를 사용한다.

사용하는 방법은

let 이름:string | number = 'Go';

이런 식으로 사용한다.
어떤식으로 작동을 하냐

  1. 이름이라는 변수는 string or number 타입이다.
  2. 'Go' 라는 값을 할당해 주었다.
  3. 그럼 이름이라는 변수는 string으로 고정이 된다.

Array나 Object 자료에도 union type을 쓸 수 있다.

let 어레이: (number | string)[] = [1,'2',3]
let 오브젝트: {data: (number | string) } = {data:'123'}

이렇게 해주면 된다.

any & unknown 타입

let 이름: any = 'kim';
이름 = 123;
이름 = undefined;
이름 = [];

위처럼 any 타입은 실드 해체 문법이라서 뭐든 들어갈 수 있다. 하지만,,, 저렇게 쓰면 타입스크립트를 쓰는 이유가 없어지기 떄문에 굳이 쓸 필요는 없다.

let 이름: unknown = 'kim';
이름 = 123;
이름 = undefined;
이름 = [];

비슷해 보이지만

let 이름: unknown;

let 변수1: string = 이름;
let 변수2: boolean = 이름;
let 변수3: number = 이름;

unknown 타입을 다른 곳에 집어넣으려고 하면 그쪽 타입 실드에 에러가 뜬다. 하지만 any타입은 에러가 없다.

profile
잘못된 내용이 있다면 알려주세요..!

0개의 댓글