摘要
正在生成中……
这里一个简单的获取字符串或数字数组的第一个元素的代码,如果不使用泛型,会写成这样
function getFirstElement(array: (number | string)[]) {
return array[0];
}
const numbers = [1, 2, 3, 4, 5];
const firstNumber = getFirstElement(numbers); // returns 1
const strings = ['hello', 'world']
const firstString = getFirstElement(strings); // returns 'hello'
console.log(firstNumber,firstString)
如果你已经知道函数内包含的特定变量的类型,取决于输入参数的类型,那么这是一个完美的使用泛型的机会,下面的例子使用泛型:
function getFirstElement<ElementType>(array: ElementType[]) {
return array[0];
}
const numbers = [1, 2, 3, 4, 5];
const firstNumber = getFirstElement(numbers);
const strings = ['hello', 'world']
const firstString = getFirstElement(strings);
console.log(firstNumber,firstString)
在实际调用时,ElementType
会替换成实际的参数类型,如在number
类型中
在string
类型中