TIT: Typescript 마스터 | type과 interface의 차이 - 220918

Lumpen·2022년 9월 20일
0

TIT

목록 보기
1/1

interface

  • 객체의 타입을 정의하는 방법
  • 재정의를 하면 기존의 interface에 프로퍼티가 추가된다
  • 확장(extends)을 할 수 있다 (쉼표로 다중 상속가능)
    -> 자바에서의 interface와 비슷한..

재정의를 통한 확장

interface Props {
	a: string
    b: number
}

interface Props {
    d: () => void
}

const abcd: Props = {
	a: 'string'
    b: 1
    d: function () {
    	console.log('hi')
    }
}

다중 상속을 통한 확장

interface aa {
  a: number;
}

interface bb {
  b: string
}

interface aabb extends aa, bb {
  ab: boolean
}

const abab: aabb {
  a: 0
  b: 'abab'
  ab: false
}

type

  • 모든 자료에 대한 타입을 정의
  • 재선언 불가
  • 확장을 위해서는 & 연산자를 통해 intersection 타입을 사용
  • Pick type으로 몇 가지의 값만 선택해서 가져올 수 있음

type과 interface를 사용하는 방법에 대해서는
끊임 없는 논쟁을..? 겪고 있다

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글