Today I Learned_230202
- 객체 타이핑: type과 interface 구분하기
- 타입 alias : type
- 둘 중에 뭐가 나은지?
- 간단하게 하고 싶으면 type
- interface: 상속하고 구현하는 등 자바의 객체지향에서 나오는 개념들이 포함됨. 객체지향 프로그래밍을 하고싶다면 사용하자.
type A = { a: string }; // A라는 타입을 선언했다. 객체를 타입으로 정의
const a: A = { a: 'hello' };
const a: {a: string} = {a: 'hello'} // 타입 선언이 싫으면 이렇게 하면 된다.
//변수 인라인하듯이
interface B { a: string }
const b: B = { a: 'hello' };
- union(또는, |), intersection
- union의 장점 : 또는 관계이기 때문에 마음대로 넣을 수 있다.
-
단점 : 타입 추론이 제대로 안 된다.
- x, y 둘다 number인데 string | number로 잘못 추론했다.
- 타입스크립트는 처음 타입을 잘 잡아놓아야지 뒤에 생기는 불상사를 방지할 수 있다..
-
- & : 모든 속성이 다 있어야 한다.
- |:여러개중에 하나만 있으면 된다.