[TIL] 24.03.04

sssujijjl·2024년 3월 6일

[TIL]

목록 보기
44/51

[타입 별칭 (Type Aliases)]

: 정의한 타입에 대해 나중에 쉽게 참고할 수 있게 이름을 부여하는 것

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

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

type Developer = {
  name: string;
  skill: string;
}

string 이나 number와 같은 간단한 타입에도 별칭을 붙일 수 있고,
interface 같은 타입에도 별칭을 붙일 수 있다.

[interface]

: 상호 간에 정의한 약속 혹은 규칙을 의미

  • 객체의 스펙(속성과 속성의 타입)
  • 함수의 파라미터
  • 함수의 스펙(파라미터, 반환 타입 등)
  • 배열과 객체를 접근하는 방식
  • 클래스
interface User {
    age: number;
    name: string;
}

let seho: User = {
    age: 33,
    name: '세호'
}

인터페이스에 정의된 속성, 타입의 조건만 만족한다면 객체의 속성 갯수와 속성 순서는 상관없다.

[차이점]

: 타입의 확장 가능 / 불가능 여부
인터페이스 - 확장 가능
타입 별칭 - 확장 불가능
(가능한 type 보다는 interface로 선언해서 사용하는 것을 추천)

0개의 댓글