前端/移动开发面试题更新 2026-08-05

请基于 ES6 的特性,编写一个函数,实现对所有传入参数进行求和的功能,并给出具体的代码实现。

前端/移动开发编码实现JavaScript

考察说明

考查对 ES6 中 rest 参数、箭头函数等语法的掌握,以及能否写出简洁正确的参数求和实现。

回答思路

  1. 【回答框架 1】使用 rest 参数将函数的所有参数收集到一个数组中,例如 function sum(...args) { return args.reduce((acc, cur) => acc + cur, 0); },这是最直接的 ES6 方式。
  2. 【回答框架 2】也可以使用箭头函数组合 rest 参数,如 const sum = (...args) => args.reduce((acc, cur) => acc + cur, 0);,代码更简洁。
  3. 【回答框架 3】需要注意,rest 参数必须是函数的最后一个参数,且不能有默认值;如果传入了非数字类型,求和结果可能不符合预期,可考虑使用 Number 转换或进行类型检查。
  4. 【回答框架 4】在求和时,可以使用取初始值 0 的 reduce,避免空参数时返回 undefined;若要求严格数值求和,可对每个参数进行 Number 转换。
  5. 【关键点 1】使用 rest 参数收集所有参数为数组。
  6. 【关键点 2】利用数组 reduce 方法累加求和。
  7. 【关键点 3】reduce 的初始值设为 0,保证空参数时返回 0。
  8. 【易错点 1】rest 参数之后不能有其他参数。
  9. 【易错点 2】忽略参数类型可能导致字符串拼接而非数值求和。