⊗tsSpGnPTL 36 of 37 menu

TypeScript에서 제네릭 제약 조건에 타입 매개변수 사용하기

TypeScript에서는 또한 하나의 타입 매개변수가 다른 타입 매개변수에 의해 제한되도록 선언하는 것이 가능합니다. 이는 하나의 객체에서 다른 객체로 속성을 복사해야 할 때, 불필요한 속성을 전달하지 않도록 보장해야 할 때 필요합니다.

다음 예제를 살펴보겠습니다. 변수의 길이를 정의하는 함수 myFunc로 다시 돌아가 보겠습니다:

function myFunc <T> (data: T): T { console.log(data.length); // 오류 return data; }

그러나 이제 우리는 이 함수가 length 속성을 가진 타입들하고만 작동하도록 만들고 싶습니다. 이를 위해 length 속성을 숫자 타입으로 가지는 인터페이스 ILength를 만들어 보겠습니다:

interface ILength { length: number; }

다음으로, 우리의 함수에서 extends 키워드를 통해 ILength를 상속하는 제네릭 타입을 지정하겠습니다:

function myFunc <T extends ILength> (data: T): T { console.log(data.length); return data; }

다음은 우리의 전체 코드입니다:

interface ILength { length: number; } function myFunc <T extends ILength> (data: T): T { console.log(data.length); return data; }

이제 우리 함수의 동작을 확인하고 문자열의 길이를 찾아보겠습니다:

console.log(myFunc('abcde'));

실행된 코드의 결과:

5 'abcde'

이제 매개변수로 배열을 전달해 보겠습니다:

console.log(myFunc(['a', 'b', 'c']));

실행된 코드의 결과:

3 [ 'a', 'b', 'c' ]
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부