본문 바로가기
Archive

TS 냐금냐금 - 1

by livemehere 2022. 7. 25.

as const

엄격하게 정확한 값으로 타입을 추론함

객체의 값을 그대로 타입으로 사용하고싶은데, number로 추론해버리는 경우 사용한다.

지금처럼 number가 아니라 각 숫자를 타입으로 사용하려면

객체뒤에 as const로 선언해주면 된다.

readonly까지 붙여준다.

keyof, typeof (객체의 키값들을 타입으로 추출하고 싶을 때)

자바스크립트 객체를 타입으로 사용하고 싶을때 사용한다.

만약에 위 사진과 같이 Direction의 키 값들을 타입으로 사용하고 싶다면, keyof 를 사용한다.

그러면 Direction의 key값들 UP, DOWN, LEFT, RIGHT 를 가져올수있는데

이때는 에러가난다. 자바스크립트 객체를 타입으로 상용할 수 없기때문이다.

 

이럴때 typeof 키워드를 함께사용하면된다.

말그대로 Direction의 type을 추출해낸다.

Direction의 타입은 전부 number인 프로퍼티 4개이다.

이제 아래처럼 이것들의 key값들을 추출하면된다.

keyof, typeof 활용해서 value값 뽑아서 타입 만들기

이런식으로 활용할 수 있다.

type alias vs interface

간단한건 type

객체지향은 interface : 확장이 쉽다.

 

Union

& : 모든 속성이 다 있어야한다. (intersection)

상속처럼 사용 가능, AND연산처럼 동작한는게 아님을 주의!

무조건 둘다 만족해야함

| : 게중에 하나면 된다.

둘다도 사용 가능

 

둘중에 하나만이라도 만족하면 됨

Interface

interface는 여러번 선언할 수 있는데, 선언할때마다 합쳐진다고 생각하면된다.

이를 이용해서 남의 라이브러리를 수정함

네이밍 규칙

Interface : I

type : T

enum : E

요즘은 잘 안붙이는 추세

 

반응형