javascript ES6语法糖:函数…省略号参数
1. 语法
function(a, b, …theArgs) {
// …}
假如一个函数的最后一个形参是以 … 为前缀的,则在函数被调使用时,该形参会成为一个数组,数组中的元素都是传递给该函数的多出来的实参的值。
在上例中,theArgs 会包含传递给函数的从第三个实参开始到最后所有的实参 (第一个实参映射到 a, 第二个实参映射到 b)。
基本参考:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Rest_parameters
2. 重点
说下...
在函数调使用时,加与不加什么区别?
下面例子用typescript实现,需要安装:
npm install -g typescript
Babel也支持ES6新特性,并转成浏览器兼容的语法。
例子:
function fun(p1: string, …args) {
console.log(“len = %d”, args.length);}fun(“hello”, …[1,2,3]); // len = 3fun(“hello”, [1,2,3]); // len = 1,当做数组对象
2.1 保存为test.ts,typescript转成js
tsc –outFile test.js test.ts
2.2 查看测试结果:
nodejs test.js
加...
是当做3个参数(reset parameter),不加只是作为1个数组参数。
藏经阁:http://www.yinqisen.cn/blog-736.html