【发布时间】:2019-07-26 14:49:47
【问题描述】:
如果我克隆一个数组并像这样推送一个值:
var arr1 = ["foo", "bar"];
var arr2 = [...arr1];
arr2.push("moo");
console.log(arr2); //["foo", "bar", "moo"]
它的行为符合我的预期。但是,如果我像这样链接 push 方法:
var arr1 = ["foo", "bar"];
var arr2 = [...arr1].push("moo");
console.log(arr2); //3 WTF?
我没想到。为什么像第二个示例一样链接 .push() 会返回数字 3 而不是值数组?
【问题讨论】:
-
Push 不会返回它正在推送的数组。 Consider the API on MDN。它返回“调用该方法的对象的新长度属性。”。
标签: javascript arrays ecmascript-6 chaining