TypeScript入门:如何通过传入num1、num2参数将加法结果赋值给add变量
解决方案:让函数返回结果并赋值给变量
嘿,我来帮你搞定这个问题!你现在的add是一个只做控制台输出的函数,要实现把计算结果存入变量的需求,核心是让函数返回加法结果,而不是直接打印。咱们分两种场景来实现:
1. 基于你原有的对象参数结构
你原来的函数接收一个包含n1和n2的对象参数,只需要把console.log改成return语句,就能让函数返回计算值,之后就可以把返回结果赋值给变量(包括重新赋值给add):
// 修改后的函数:返回两数之和 let add = (number: { n1: number, n2: number }) => { return number.n1 + number.n2; }; // 调用函数并将结果存入add变量(注意:这会覆盖原有的函数,之后add就变成数值类型了) add = add({ n1: 2, n2: 3 }); console.log(add); // 输出: 5
如果你想保留add的函数功能,建议用另一个变量存储结果:
let add = (number: { n1: number, n2: number }) => number.n1 + number.n2; const sumResult = add({ n1: 10, n2: 20 }); console.log(sumResult); // 输出: 30 // 此时add还是函数,可以继续调用 console.log(add({ n1: 5, n2: 5 })); // 输出: 10
2. 改用单独的num1、num2参数
按照你提到的“传入num1、num2参数”的需求,我们可以把函数参数改成两个独立的数值参数,这样调用起来更直观:
// 定义接收两个单独参数的加法函数 let add = (num1: number, num2: number) => { return num1 + num2; }; // 调用函数并将结果赋值给add变量 add = add(4, 5); console.log(add); // 输出: 9
同样,如果你想保留函数功能,用新变量存结果:
// 可以明确指定函数的类型,让代码更清晰(TypeScript特性) let add: (num1: number, num2: number) => number = (num1, num2) => num1 + num2; const total = add(15, 25); console.log(total); // 输出: 40 // 继续调用函数 console.log(add(7, 3)); // 输出: 10
关键提示
- 如果你把
add从函数重新赋值为数值,之后就无法再把它当作函数调用了,所以根据你的实际需求选择是否覆盖原变量。 - TypeScript中建议明确标注类型(比如函数的参数类型、返回类型),这样能获得更好的类型检查和代码提示。
内容的提问来源于stack exchange,提问作者Sumit
相关产品推荐
相关产品推荐

