논리 연산자 활용 타입

이인재·2022년 8월 14일

TypeScript

목록 보기
6/8

타입 별칭 (Type Aliases)

  • 의미없는 반복을 줄이고 타입을 명시적으로 사용하도록 도움
  • let, const를 선언해 변수를 초기화하듯 사용 가능
  • 컴파일러가 따로 추론하지 않음
// string 타입을 사용할 때
const name: string = 'capt';

// 타입 별칭을 사용할 때
type MyName = string;
const name: MyName = 'capt';

타입 별칭은 간단한 타입 뿐만 아니라 interface 등의 복잡한 타입에도, 제네릭에도 사용이 가능

type vs interface
type : 확장 불가능
interface : 확장 가능
=> type보다는 interface 선언해서 사용하는 것 추천

Union 타입 (합집합)

type Zero = string | number

const a:Zero = 'STR'
const b:Zero = 123

// 객체로도 사용 가능
type Zero = {
	name: string
    age: number
}

type Base = {
	name: string
}

const obj: Zero | Base = {
	name: 'Lee',
    age: 11
}

Intersection 타입 (교집합)

type Zero = string & number

// string이면서 number일 수 없다.
const a:Zero = 'STR'
const b:Zero = 123

// 객체로도 사용 가능
type Zero = {
	name: string
    age: number
}

type Base = {
	name: string
    gender: GenderType
}

// 이렇게 name, age, gender 요소가 모두 들어가야함

const obj: Zero & Base = {
	name: 'Lee',
    age: 11
    gender: 'F'
}

0개의 댓글