[Korean FE Article] TypeScript에서 제한된 항등 함수(Constrained Identity Function)를 작성하는 방법
글 링크: https://bit.ly/3tERlbe
소개
TypeScript에서 확장성있는 함수를 작성하기위해 노력한 고민이 담겨져 있는 글입니다. 요즘에는 FE개발에서 TypeScript가 없다는 것은 상상하기 힘들정도로 많은 도움을 받고 있습니다.
그만큼 잘 사용하는 것도 어렵다고 생각합니다. 글의 저자인 Kent C. Dodds는 이 글에서 CIF라는 개념을 설명하면서, 자신이 고민한 것을 어떻게 해결했는지 자유롭게 공유하고 있습니다.
저는 이 글에서 문제를 해결하기 위해 고민하고 생각하는 전체적인 과정이 흥미로웠고, 다른 사람들과 공유하면 좋겠다 싶어서 이 글을 선택했습니다. 많은 도움이 되었으면 좋겠습니다 :)
tl;dr
TypeScript를 사용할 떄, 새로운 값의 추가에 따라 변경 범위가 큰 경우가 있다.
좀 더 스마트하게 이 경우를 대응하고자 할 때 제한된 항등 함수(CIF)가 해결책이 될 수 있다.
CIF란 주어진 것을 반환하고 TypeScript가 해당 타입을 제한하는 데 도움을 주는 함수를 의미한다.