-
Typescript Aliases, readonly, Literal, as constfront-end/TypeScript 2024. 2. 22. 09:30728x90
1. Aliases
1. type 타입변수명 = 타입종류
- 타입을 변수 처럼 만들어 쓰는 문법입니다.
type home = string | number | undefined; let 집 :home;
2. object 타입도 가능합니다.
type home = { name : string, modelnum : number, } let teacher :home = { name : 'TV', modelnum : 20240222 }
3. type 키워드는 재정의가 불가능합니다.
type name = string; type name = number; // 불가능
4. type은 합치는 게 가능합니다.
type name = string; type age = number; type newOne = name | age;
2. readonly
1. const 변수는 재할당이 불가능합니다.
const tv = 'OLEDTV' tv = 'QLEDTV' // 에러 발생
2. object 자료의 경우 변경이 가능합니다.
const TV = { name : 'OLEDTV' } TV.name = 'QLEDTV'; //const 변수지만 에러가 발생하지 않습니다.
3. 특정 속성을 변경 불가능하게 잠가주는 역할을 합니다.
const TV = { readonly name : 'OLEDTV' } TV.name = 'QLEDTV'; //에러가 발생합니다.
3. Literal
1. 특정 글자나 숫자만 가질 수 있게 제한을 두는 타입입니다.
let direction : 'left' | 'right';
2. 함수도 가능합니다.
function 함수(a : '가위' | '바위' | '보') : ('가위'|'바위'|'보')[] { return ['가위','보'] }
3. const와 유사하지만 업그레이드 버전이며, 타입스크립트에서만 가능합니다.
4. as const
1. 타입을 object의 value로 변경해 줍니다.
2. object안에 있는 모든 속성을 readonly로 변경해 줍니다.
var TV = { name : 'OLEDTV' } as const; function LG(a : 'OLEDTV') { } LG(TV.name) // as const가 없는 경우 에러가 발생을 합니다. // name : 'OLEDTV'이 string 타입이기 때문에 // a : 'OLEDTV' OLEDTV 타입이기 떄문입니다.
728x90'front-end > TypeScript' 카테고리의 다른 글
Typescript class 타입 지정 constructor, prototype (0) 2024.02.23 Typescript 함수 methods에 type alias 사용법 (0) 2024.02.22 Typescript Narrowing & Assertion (0) 2024.02.21 Typescript 함수에 타입 지정하기 (0) 2024.02.21 Typescript 타입 정리 (0) 2024.02.21