[Typescript] User Defined Type Guards
·
Language/JavaScript
vue-core의 코드 분석 중 inject()의 구현부에서 isFunction()이라는 함수를 보게되었다. '함수여부를 어떻게 판별할까?'하고 정의를 찾아보니 아래와 같은 코드가 있었다.export const isFunction = (val: unknown): val is Function => typeof val === 'function'내가 헷갈렸던 부분은 반환 타입으로 주어진 val is Function이었다. 파이썬에서만 봤지 타입스크립트에서 is를 사용하는걸 처음봐서 검색해보니 User Defined Type Guards라는 개념을 찾을 수 있었다.User Defined Type Guards란 특정 조건을 만족하는지 확인하여 컴파일러에게 해당 조건이 참일 경우 변수나 객체의 타입을 안전하게 판..