본문 바로가기
Frontend/TypeScript(완)

[TS] TS연습하기10

by VictorMeredith 2023. 4. 13.

TypeScript

//type도 ESM을 사용할 수 있다.
import {Atype, age} from './index10_1';
const aType:Atype = 'string aType' + age



//Generic : 함수를 쓸 때 Generic 함수를 만든다 (파라미터로 타입을 입력하는 함수)
const 제네릭함수 = <T>(x:T[]):T => { //타입이 파라미터처럼 된다.
  return x[0]
}

const 제네릭1 = 제네릭함수<number>([4,2]);
const 제네릭2 = 제네릭함수<string>(['string', 'Hi'])
// 사용할 때 <타입> 이거 지정 안해도 잘 작동하긴 한다.

//Generic 타입에서 제한두기
interface LengthCheck{
  length : number
}
const 제네릭함수2 = <T extends LengthCheck>(x : T)=>{ //customType, interface로도 확장 가능
  return x.length
}
console.log(제네릭함수2<string[]>(['가나다']));
// console.log(제네릭함수2(1)); // .length가 number가 아니므로 사용 불가능하다.

댓글