MST
星途 面试题库

面试题:TypeScript 泛型函数基础应用

定义一个泛型函数 `identity`,它接受一个参数并返回这个参数本身。同时,编写调用这个函数的代码,分别传入字符串和数字类型的参数,并打印返回值。
36.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
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 版本没有类型检查和泛型的优势。