面试题答案
一键面试function identity<T>(arg: T): T {
return arg;
}
// 传入字符串类型参数
let result1 = identity<string>("Hello");
console.log(result1);
// 传入数字类型参数
let result2 = identity<number>(42);
console.log(result2);
上述代码使用 TypeScript 实现了泛型函数 identity
,在函数定义中 <T>
表示类型参数,它使得函数可以接受任意类型的参数,并返回相同类型的值。在调用时,通过显式指定类型参数(如 <string>
和 <number>
),分别传入字符串和数字类型的参数,并打印返回值。如果是在 JavaScript 中实现,由于 JavaScript 本身不支持泛型,可近似写成:
function identity(arg) {
return arg;
}
// 传入字符串类型参数
let result1 = identity("Hello");
console.log(result1);
// 传入数字类型参数
let result2 = identity(42);
console.log(result2);
不过 JavaScript 版本没有类型检查和泛型的优势。