MST

星途 面试题库

面试题:TypeScript调用签名与接口结合的复杂应用

定义一个接口`MathOperation`,它包含一个调用签名,接受两个数字参数,返回值类型根据第一个参数是否为偶数来决定:如果第一个参数是偶数,返回字符串类型的结果(如`'result is even'`格式),否则返回数字类型结果(两个参数的乘积)。请实现满足该接口调用签名的函数`performMathOperation`。
27.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
interface MathOperation {
    (num1: number, num2: number): string | number;
}

const performMathOperation: MathOperation = (num1, num2) => {
    if (num1 % 2 === 0) {
        return `result is even`;
    } else {
        return num1 * num2;
    }
};

在上述代码中:

  1. 首先定义了接口MathOperation,它接受两个number类型参数,返回值类型为string | number,具体返回类型取决于第一个参数是否为偶数。
  2. 然后实现了performMathOperation函数,该函数符合MathOperation接口的调用签名。函数内部通过判断第一个参数是否为偶数,来决定返回字符串类型还是数字类型的结果。