相关疑难解决方法(0)

在javascript中使用rest参数和spread运算符

在ECMAScript 6中添加的rest参数的用途是什么?

例如,在ECMAScript 5中,您可以执行以下操作以从第二个元素开始获取参数数组:

// ES 5
store('Joe', 'money');
store('Jane', 'letters', 'certificates');
function store(name) {
  var items = [].slice.call(arguments, 1); //['money'] in first case
  items.forEach(function (item) {
    vault.customer[name].push(item);
  });
}
Run Code Online (Sandbox Code Playgroud)

这将等同于ECMAScript 6中的以下代码:

// ES 6
store('Joe', 'money');
store('Jane', 'letters', 'certificates');
function store(name, ...items) {
  items.forEach(function (item) {
    vault.customer[name].push(items)
  });
}
Run Code Online (Sandbox Code Playgroud)

它们之间的区别仅仅是语法还是存在性能问题?

也适用于传播运营商(...)

//in ecmascript5
var max = Math.max.apply(null, [14, 3, 77]);
//but in ecmascript6
var max = Math.max(...[14, 3, 77]);
Run Code Online (Sandbox Code Playgroud)

这只是语法更改还是性能问题?

javascript ecmascript-5 ecmascript-6 spread-syntax

15
推荐指数
3
解决办法
8119
查看次数