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
반응형