Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부