keyof
유저 인터페이스의 키 값중 하나를 불러올 때 유용하게 사용할 수 있는 keyof키워드입니다.
keyof를 사용하면 유니온 타입을 사용한 것과 동일한 결과를 변수에 넣을 수 있습니다.
User의 키에 없는 값을 넣으면 에러가 납니다.
partial<T>
parital은 프로퍼티를 모두 Optional(선택적인)값으로 바꿔줍니다.
인터페이스에 선언한 값들 중 일부값만 넣으면 아래처럼 에러가 발생합니다.
아래와 같이 partial을 사용하면 일부만 사용해서 선언할 수 있게 됩니다.
즉 위의 인터터페이스가 아래의 인터페이스를 선언한 것처럼 사용할 수 있게 됩니다.
partial이라도 선언하지 않는 키값을 넣을 수는 없습니다.
Required<T>
required는 반대로 모든 값들을 필수 값으로 만들어줍니다.
age가 선택적인 값으로 되어있지만, Required<User>를 달아주었기 때문에 age가 필수적인 값이 되어버립니다.
Readonly<T>
readonly는 읽기전용입니다.
처음에 할당만 가능하고 이후에 수정은 불가능합니다.
Record<K,T>
record는 키값과 밸류값에 어떤 내용을 할당할 수 있는지 명확하게 해주고 싶을때 사용합니다.
K는 키이고,T는 요소입니다.
과목별 점수를 담는 객체를 만들어보면
뭔가 구조가 복잡합니다.
Record를 사용해보면 1,2,3,4라는 키값에는 A,B,C,D라는 요소가 들어갈 수 있습니다.
여기서 따로 변수를 만들어두면 더 편하게 사용가능합니다.
조금더 예시를 들어보면
user라는 객체를 받아서 이 객체가 올바른 값을 갖고 있는 지를 확인해주는 isValid라는 함수를 만들때
isValid안의 result객체의 키 값에는 id,name,age가 들어갑니다.
이 키값은 User 인터페이스의 key값과 같기 때문에 keyof User로 간단하게 사용할 수 있습니다.
Pick<T,K>
T타입에서 K프로퍼티만 골라서 사용할 때 Pick을 사용합니다.
Omit<T,K>
omit은 pick과 반대로 T타입에서 K프로퍼티만 제외하고 사용할 수 있게 해주는 키워드입니다.
Exclude<T1,T2>
exclude는 T1타입에서 T2타입을 제외하고 사용할 수 있게 해주는 키워드입니다.
omit과 다른점은 omit은 프로퍼티를 제외하는 것이고,
exclude는 타입을 제외합니다.
T1타입에서 T2타입과 겹치는 것들을 제거하는 것이라고 생각하면 됩니다.
T2에 마우스를 올려 확인해보면 boolean값만 남게 됩니다.
NONullable<T>
nonnullable은 null을 제외한 타입을 생성하는 키워드입니다.
이름만 보면 null을 제외하는 것처럼 볼 수 있는데, undefined도 같이 제거합니다.
'프론트엔드 > typescript' 카테고리의 다른 글
타입스크립트 - 제네릭 (0) | 2023.10.25 |
---|---|
타입스크립트 - 클래스 (0) | 2023.10.23 |
타입스크립트 - 리터럴타입,유니온/교차타입 (0) | 2023.10.23 |
타입스크립트 - 함수 (0) | 2023.10.23 |
타입스크립트 - 인터페이스(Interface) (1) | 2023.10.22 |