generic + extends
강력한 generic 타입을 통해 입력되는 값의 타입을 추측하는 것은
좋은 일이다.
하지만 모든 타입을 고려해 함수를 작성하는 일은 잘 없기 때문에 extends를 사용해 narrowing을 해주도록 하자
<T extends {length:number}>
이 코드의 뜻은
T를 사용해 generic 타입을 사용할 것인데 T의 method인 length가 number타입을 가질 수 있는지를 판별해 input값을 가려받는다.
function longest<T extends {length:number}>(a:T,b:T){
if(a.length>=b.length){
return a;
}else{
return b;
}
}
const longerArray = longest([1,2],[3,4,5]);
const longerString = longest('abc','abcde');
const longerNumber= longest(1,23); // error!
Author And Source
이 문제에 관하여(generic + extends), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zerozoo-front/generic-extends저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)