-
아이템 24 - 일관성 있는 별칭 사용하기타입스크립트 2023. 3. 14. 21:02
interface Coordinate { x: number; y: number; } interface BoundingBox { x: [number, number]; y: [number, number]; } interface Polygon { exterior: Coordinate[]; holes: Coordinate[][]; bbox?: BoundingBox; } function isPointInPolygon(polygon: Polygon, pt: Coordinate) { if (polygon.bbox) { if (pt.x < polygon.bbox.x[0] || pt.x > polygon.bbox.x[1] || pt.y < polygon.bbox.y[1] || pt.y > polygon.bbox.y[1]) { return false; } } // ... more complex check }
위 예제에서
isPointInPolygon
함수 내부에서polygon.bbox
라는 것이 중복되어 사용되고 있어 중복을 제거하는 리팩토링을 해보겠습니다.function isPointInPolygon(polygon: Polygon, pt: Coordinate) { const { bbox } = polygon; // 비구조화 할당을 이용 if (bbox) { const {x, y} = bbox; if (pt.x < x[0] || pt.x > x[1] || pt.y < x[0] || pt.y > y[1]) { return false; } } // ... }
위와 같이 비구조화 할당을 이용하면 보다 간결한 문법으로 일관된 이름을 사용할 수 있습니다.
'타입스크립트' 카테고리의 다른 글
아이템 23 - 한꺼번에 객체 생성하기 (0) 2023.03.14 아이템 22 - 타입 좁히기 (0) 2023.03.14 아이템 21 - 타입 넓히기 (0) 2023.03.14 아이템 20- 다른 타입에는 다른 변수 사용하기 (0) 2023.03.14 아이템 19 - 추론 가능한 타입을 사용해 장황한 코드 방지하기 (0) 2023.03.14