object에 타입지정하기

김범주·2022년 7월 13일
0

typescript

목록 보기
8/23
post-thumbnail

interface

interface Square { 
  color :string, 
  width :number, 
} 

let 네모 :Square = { color : 'red', width : 100 } 

type alias와 비슷한 기능을 하지만 interface의 장점으로 extends가 가능!

interface Student {
  name :string,
}
interface Teacher extends Student {
  age :number
}

Teacher안에 Student의 name과 Teacher의 age가 들어가게 됨!

type Animal = { 
  name :string 
} 
type Cat = Animal & { legs: number }
-----------------------------------------------------------------------------------
interface Student {
  name :string,
}
interface Teacher {
  age :number
}

let 변수 :Student & Teacher = { name : 'kim', age : 90 }

이런식으로 type은 &를 사용해 두 타입을 합칠 수 있음.(extend는 불가능)
그런데 interface도 & 사용가능!

type의 경우는 중복선언을 허용하지 않지만 interface는 중복선언을 허용함

interface Animal { 
  name :string 
} 
interface Dog { 
  gender :string
} 
let 변수 :Dog & Animal = { name : '멍멍' , gender : 'male'}

속성이 중복되지 않는다면 중복선언 시 합쳐지는 형태

profile
개발꿈나무

0개의 댓글