반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 스프링 컨테이너
- 기본형 매개변수
- mvvm패턴
- 백준 2164
- 옵저버 패턴
- www.naver.com치면 발생하는일
- Class Loader
- 스프링 싱글톤
- removeAll
- 리버스 프록시
- @Tranctional
- 팩토리패턴
- 스프링 빈
- 네트워크
- 백준 1935
- 싱글톤 패턴
- 참조형 반환타입
- TCP/IP 4계층
- 포워드 프록시
- k번째큰수
- SOLID원칙
- 자바의 면접
- 쇠막대기
- 참조형 매개변수
- 후위표기식
- 전략 패턴
- 빈 타입 조회
- try-catch
- 스프링
- 팩토리 패턴
Archives
- Today
- Total
스파이더 웹 개발
자바스크립트 - 제네릭 본문
728x90
반응형
1. 제네릭의 장점
아래와 같이 유연하게 대처할 수 있다.
function logText(text: string){
console.log(text);
return text;
}
logText('하이');
function logNumber(num: number){
console.log(num);
return num;
}
logNumber(10);
function logAll<T>(text: T): T {
console.log(text);
return text;
}
const str1 = logAll<string>('abc');
str.split('');
const login = logAll<boolean>(true);
제네릭 추가
// function logText(text){
// console.log(text);
// return text;
// }
// logText("hello");
function logText(text: string){
console.log(text);
return text;
}
logText('하이');
function logNumber(num: number){
console.log(num);
return num;
}
logNumber(10);
function logAll<T>(text: T): T {
console.log(text);
return text;
}
const str1 = logAll<string>('abc');
str.split('');
const login = logAll<boolean>(true);
interface Dropdown<T>{
value: T;
selected: boolean;
}
const a: Dropdown<number> = {
value: 10,
selected: true
};
//제네릭의 타입 제한
// function logTextLength<T>(text: T[]): T[] {
// console.log(text.length);
// return text;
// }
// logTextLength<string>(['hi','ab']);
//정의된 타입 이용하기
interface LengthType {
length: number;
}
function logTextLength<T extends LengthType>(text: T): T {
console.log(text.length);
return text;
}
logTextLength('a');
//key of
interface ShoppingItem {
name: string;
price: number;
stock: number;
}
function getShoppingItemOption<T extends keyof ShoppingItem>(itemOption: T): T{
return itemOption;
}
getShoppingItemOption("stock");
참고
타입스크립트 입문 - 기초부터 실전까지 - 인프런 | 강의
타입스크립트를 시작하는 분들을 위한 강의입니다. 최신 자바스크립트 문법을 모르는 분들도 쉽게 배울 수 있도록 교과 과정을 구성하였습니다. 어렵게만 느껴지는 타입스크립트를 입문자 관
www.inflearn.com
728x90
반응형
'JavaScript' 카테고리의 다른 글
자바스크립트 복습(2) (0) | 2022.10.14 |
---|---|
자바스크립트 - 복습 (0) | 2022.10.14 |
타입스크립트 확장 (0) | 2022.10.11 |
타입스크립트 기본 (0) | 2022.10.11 |
자바스크립트 고급 문법(2) (0) | 2022.10.09 |
Comments