MST
星途 面试题库

面试题:TypeScript函数重载在复杂类型中的应用

假设你有一个 `printValue` 函数,需要实现函数重载。它可以接受一个字符串参数并打印字符串长度;接受一个数字数组参数并打印数组元素总和;接受一个对象,对象具有 `name`(字符串类型)和 `age`(数字类型)属性,打印 `name` 和 `age` 的信息。请写出完整的TypeScript代码实现。
27.4万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function printValue(str: string): void;
function printValue(nums: number[]): void;
function printValue(obj: { name: string; age: number }): void;
function printValue(arg: string | number[] | { name: string; age: number }): void {
    if (typeof arg ==='string') {
        console.log(arg.length);
    } else if (Array.isArray(arg)) {
        console.log(arg.reduce((acc, cur) => acc + cur, 0));
    } else {
        console.log(`Name: ${arg.name}, Age: ${arg.age}`);
    }
}