일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 프로그래머스
- Typescript
- 자바스크립트
- javascript
- CSS
- 연습문제
- 코딩테스트
- Python
- 자바
- 이것이 코딩테스트다 with 파이썬
- Baekjoon
- Java
- CLASS
- 그리디
- 프로그래머스 JS
- greedy
- programmers
- Lv2
- 백준
- SWEA
- js
- React
- node.js
- 정렬
- 코딩테스트 입문
- Next.js
- 네트워크
- bfs/dfs
- Lv1
- 알고리즘
Archives
- Today
- Total
개발야옹
[ Typescript ] Generic 본문
Generic
파라미터로 타입을 입력할 수 있는 함수를 생성할 수 있다.
function 함수<Type>( x: Type[] ) : Type{
return x[0];
}
let a = 함수<number>([4,2]);
let b = 함수<string>(['4','2']);
console.log(a); // 4 ( number )
console.log(b); // '4' ( string )
Generic Type 제한
아래와 같이 함수의 타입이 extends된 속성을 가지고 있는지를 확인
커스텀 타입으로도 타입파라미터 제한이 가능하다.
function 함수<Type extends number>( x: Type[] ) : Type{
return x[0];
}
let a = 함수<number>([4,2]);
console.log(a); // 4 ( number )
interface LengthCheck {
length : number
}
function 함수<Type extends LengthCheck>( x: Type[] ) : Type{
return x.length;
}
let a = 함수<string[]>(['100']);
console.log(a); // 1
728x90
'Language > Typescript' 카테고리의 다른 글
[ Typescript ] .ts 와 .tsx (0) | 2021.12.19 |
---|---|
[ Typescript ] public, private, protected, static keyword (0) | 2021.12.19 |
[ Typescript ] rest parameter type지정 (2) | 2021.12.18 |
[ Typescript ] interface (0) | 2021.12.18 |
[ Typescript ] class type 지정 (0) | 2021.12.18 |