728x90
반응형
Literal Type
장점
1. 변수에 뭐가 들어올지 엄격하게 관리 가능
2. 자동완성 굿
3. const 변수처럼 사용할 수 있다.
let name: "kim" | "park";
let me: "react" | "vue";
me = "react";
function func1(a: "hello") {
console.log(a);
}
func1("hello");
function func2(): 1 | 0 {
return 1;
}
func2();
// 가위, 바위, 보 만 파라미터로 들어갈 수 있고, 가위바위보 배열을 반환하는 함수
type game = "가위" | "바위" | "보";
function rockSissorPaper(a: game): game[] {
return [a];
}
Literal Type의 한계
// Literal type의 한계
var data = {
name: "kim",
}; // 꼼수 1: as const // object value값을 그대로 타입으로 지정해줌
function myFunc(a :'kim'){
}
// myFuc(data.name) // ERROR
// 이유: myFunc의 파라미터는
// 'kim'이라는 자료만 들어 올수 있다(X)
// 'kim'이라는 타입만 들어 올수 있다(O)
myFunc(data.name as 'kim') // 꼼수 2
728x90
반응형
'Web > Typescript' 카테고리의 다른 글
[Typescript]함수와 메소드에 type alias 지정 (0) | 2022.06.12 |
---|---|
[Typescript]타입변수에 담기(type alias) & 타입 extend하기 (0) | 2022.06.11 |
[Typescript]타입을 미리 정하기 애매할 때 & 타입지정 & Narrowing (0) | 2022.06.11 |
[Typescript]컴파일시 세부설정(tsconfig.json) (0) | 2022.06.11 |
[Typescript]설치셋팅&기본문법 (0) | 2022.06.11 |