728x90
반응형
[key:string]
Words 타입이 string만을 속성으로 가지는 객체라는 것을 말한다. [key:number] 도 될 수 있다. 그러면 "potato" 가 에러가 난다.
[key:string] 이 형식(객체)은 제한된 양의 속성만 가질 수 있다. 속성에 대해서 미리 알지 못하지만 타입을 미리 알고 있을 때 쓰면 된다.
클래스를 타입처럼 활용하는 것이 가능하다.!!
이런식의 지정된 특정 값을 갖는 type을 사용하는 것도 가능하다!
interfaces
인터페이스는 오브젝트를 설명하는 또다른 방법이다.
type -> interface로 바꿔도 에러가 나지 않는다.
typescript에서 object의 모양을 알려주는 방식 2가지가 type과 interface이다.
하지만 interface는 오직 object 의 모양을 특정해주기 위한 한가지 용도로만 사용된다.
이런방법은 작동하지 않는다.
type은 내가 원하는 모든 타입이 될 수 있다. string배열, object모양을 특정하는 데 사용될 수도 있다.
또한 type과 interface는 상속방법이 다르다.
type PlayerA = {
name:string
}
type PlayerAA = PlayerA & {
lastName:string
}
interface PlayerB {
name:string
}
interface PlayerB extends PlayerB {
lastName:string
}
interface는 class와 닮았다.
interface는 property들을 축적시킬 수 있다.
type은 위와 같은 형식이 허용되지 않는다.
interface는 객체 지향 프로그래밍의 개념을 활용해서 디자인 되었다. type은 그것보다 더 유연하고 개방적이다.
728x90
반응형
'Frontend > Typescript' 카테고리의 다른 글
노마드 코드 - 타입 스크립트로 블록체인 만들기 (interfaces2 - 클래스와 인터페이스 비교) (0) | 2023.10.19 |
---|---|
노마드 코드 - 타입 스크립트로 블록체인 만들기 (Classes) (0) | 2023.10.17 |
노마드 코드 - 타입 스크립트로 블록체인 만들기 (Polymorphism) (0) | 2023.10.16 |
노마드 코드 - 타입 스크립트로 블록체인 만들기 (Call Signatures, Overloading) (0) | 2023.10.16 |
노마드 코드 - 타입스크립트로 블록체인 만들기 overview of typescript (0) | 2023.10.14 |