TypeScript의 일반적인 사용 정보
16168 단어 TypeScripttech
TypeScript의 일반적인 사용 정보
일반 매개변수란?
여러 위치에서 유형 레벨을 강제로 제한하는 데 사용되는 자리 표시자 유형입니다.다중 매개변수라고도 합니다.
설치 예제 ①(단일 Generic 유형을 사용하는 경우)
type Filter = {
//※<T>は、単なる慣例であるため、代わりに任意の名前を使用することもできます。
<T>(array: T[], func: (item: T) => boolean): T[]
}
const filter: Filter = (array, func) => {
const newArray = array.filter((item) => (
func(item)
))
return newArray
};
//「T」はnumber型になります(2より小さい値のみにフィルタリング)
filter([1, 2, 3], _ => _ > 2)
//「T」はstring型になります(bでない値のみにフィルタリング)
filter(['a', 'b', 'c'], _ => _!== 'b')
상술한 내용을 정리하면 다음과 같다.우선, 상기 Filter 함수는 일반적인 매개 변수
Filter 함수를 호출할 때의 유형 정의로 Filter형 정의의 유형(일반 매개 변수)을 읽고 매개 변수의 값에 따라 TypeScript 추론 유형을 추론형으로 대체합니다.
Filter 함수 처리를 실행하여 각각 다음 값을 되돌려줍니다
// 返り値は、2より小さい値のみにフィルタリングされるので[3]となる
filter([1, 2, 3], _ => _ > 2)
// 返り値は、bでない値のみにフィルタリングされるので["a", "c"]となる
filter(['a', 'b'], _ => _!== 'b')
설치 예제 ②(여러 일반 유형을 사용하는 경우)
type Map = {
<T, U>(array: T[], func: (item: T) => U): U[]
}
const map: Map = (array, func) =>{
const newArray = array.map((item) => (
func(item)
))
return newArray
};
map([1, 2, 3], _ => String(_ + "回目")
상술한 내용을 정리하면 다음과 같다.우선, 상기 맵 함수는 일반적인 매개 변수
맵 함수를 호출할 때 유형 정의로 맵 유형 정의 유형(일반 매개변수)을 읽고 매개변수 값에 따라 Type Script 추론 유형을 추론으로 대체합니다.
맵 함수 처리를 실행하고 다음 값을 각각 되돌려줍니다
// 返り値は、Number型配列からString型配列の["1回目", "2回目", "3回目"]となる
map([1, 2, 3], _ => String(_ + "回目")
어디서 제니릭을 선고할 수 있습니까?
다음 모드를 사용하여 양수 관계식을 선언할 수 있습니다.
모드 1
T의 범위는 각 서명에만 한정되며, 서명을 완전히 호출합니다.T의 역할 범위는 하나의 서명에만 한정되어 있기 때문에 Filter형 함수를 호출할 때 T를 구체적인 형식으로 설정합니다.
type Filter ={
<T>(array: T[], func:(item: T) => boolean): T[]
}
// 省略形の書き方
type Filter = <T>(array: T[], func:(item: T) => boolean): T[]
모드 2
T의 범위는 서명 전체에 미치며 서명을 완전히 호출합니다.T(특정 서명 유형의 일부가 아님)가 Filter 유형의 일부로 선언되었으므로 Filter 함수를 선언할 때 T를 특정 유형으로 설정합니다.
type Filter<T> ={
<T>(array: T[], func:(item: T) => boolean): T[]
}
// 省略形の書き方
type Filter<T> = <T>(array: T[], func:(item: T) => boolean): T[]
모드 3
이름 함수의 호출 서명입니다.T의 범위는 그 서명에만 한정됩니다.Filter 함수를 호출하는 시점에서 T를 특정 유형으로 설정합니다.
function filter<T>(array: T[], func:(item: T) => boolean): T[]
참고서
Reference
이 문제에 관하여(TypeScript의 일반적인 사용 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/hososhun/articles/1d59f4463780cc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)