// let firstInArray = (arr: (string | number)[]) => {
// return arr[0]
// }
let firstInArray = <T>(arr: T[]) => {
return arr[0]
}
let a1 = firstInArray([1, 2, 3])
let a2 = firstInArray(['a', 'b', 'c'])
let a3 = firstInArray([1, 'a', true, null, undefined])
let show = <T, Y>(a: T, b: Y) => {
return [a, b]
}
let ret1 = show(1, 'a')
let ret2 = show(true, 'a')
泛型:
firstInArray这个方法,参数数组内的元素可以是任意类型的,泛型可以在定义的时候不指定,而在使用的时候具体定义
show(),2个参数,a,b都使用泛型定义,在使用的时候,根据参数具体类型,而确定
let ret1: (string | number)[]
let ret2: (string | boolean)[]