Front-end/Typesrcipt
Typescript - Type Alias
Cuvely
2023. 4. 12. 15:50
728x90
반응형
Type Alias
type alias 란 타입을 변수로 만들어서 사용 하는것이다.
type alias 를 변수로 선언할때 대문자로 사용한다.
type Info = string | number; // type을 변수로 사용한다. (통상 대문자로 시작)
let myAge: Info = 27; // number 타입 허용
let myName: Info = 'zelord'; // string 타입 허용
배열 및 오브젝트도 type alias 를 사용할 수 있다.
type Member = { // Member로 타입변수를 선언
name: string,
age: number
}
let person: Member = { // Member 타입변수를 불러와서 타입선언
name: 'zelord',
age: 27
}
type Lotto = number[]; // Lotto 타입변수를 선언
let lottoNum: Lotto = [1, 5, 23, 42, 31, 17, 25]; // Lotto 타입변수를 불러와서 타입선언
오브젝트에서 readonly 키워드를 사용하여 수정할 수 없도록 설정할 수 있다.
(실제로 값은 변경이 되나 에디터에서 에러라고 나타난다.)
type Member = {
readonly name: string, // readonly 키워드를 선언한다.
age: number
}
let person: Member = {
name: 'zelord',
age: 27
}
person.age = 1; // readonly 키워드가 없어서 변경가능
person.name = 'lee'; // readonly 키워드로 인해 변경불가
반응형
Type alias Union 또는 &
타입을 합치기 위해선 union type을 사용하거나 &(extend) 를 사용하여 타입을 합칠 수 있다.
& 연산자는 오브젝트일때 사용 하기 편하다.
type Name = string;
type Age = number;
type Dog = Name | Age; // union type으로 타입 변수 합치기
type PetName = { name: string };
type PetAge = { age: string };
type Pet = PetName & PetAge; // & 를 사용하여 타입 변수 합치기(extend)
let myDog: Pet = {
name: 'zelordDog',
age: 99
}
type 변수는 재정의가 불가능하다.
type Name = number;
type Name = string; // 먼저 위에 type을 선언했기 때문에 재정의 불가능
728x90
반응형