#32 유니온의 인터페이스보다는 인터페이스의 유니온을 사용하기
·
🎨 프론트엔드 공부/JS & TS
이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리 📍요약 ✅유니온을 가진 인터페이스는 프로퍼티간의 관계가 불분명하기 때문에 에러를 유발할 수 있다 ✅유니온의 인터페이스보다 인터페이스의 유니온이 더 정확하고 타입스크립트가 이해하기도 좋다 ✅타입에 태그를 넣는 tagged union을 사용하는 편이 좋다 📍인터페이스들의 유니온 예시 1 인터페이스의 프로퍼티를 유니온 타입으로 사용하는 것보다, 인터페이스들의 유니온 타입 형태로 사용하는 것이 바람직하다 - 예시 type FillPaint = unknown; type LinePaint = unknown; type PointPaint = unknown; type FillLayout = unknown; type LineLayout = unknown; type ..
#22 타입 좁히기 (type narrowing)
·
🎨 프론트엔드 공부/JS & TS
이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리 📍요약 ✅tagged union, discriminated union (특정 문자열을 타이핑에 활용) 및 타입 가드를 통해 type narrowing을 구현 가능 📍타입 좁히기(type narrowing) - 가장 일반적인 예시 : null check (특정 엘리먼트가 있는지 여부) - 분기문에 따라 타입을 좁힐 수 있음 const el = document.getElementById('foo'); // Type is HTMLElement | null if (el) { el // Type is HTMLElement el.innerHTML = 'Party Time' } else { el // Type is null alert('No element #fo..