ts.forEachChild
预期产出:
function f(...y){
y.forEach(v => {
console.log("111");
console.log(v);
});
}
var z=["a","b","c","d","e","f"];
f(z);
实际输出:
"111"
"a"
"111"
"b"
"111"
"c"
"111"
"d"
"111"
"e"
"111"
"f"
只有当我将行"111"
["a", "b", "c", "d", "e", "f"]
更改为f(z)
时,才能获得预期的输出。我是ECMAScript 2015的新手。请告诉我这里缺少什么。
答案 0 :(得分:3)
f(z)
表示只有一个参数(在本例中为数组)传递给方法,而f(...z)
表示,数组中的值作为参数传递给函数。
阅读更多:
function f(...y){
console.log(y.length);
}
var z=["a","b","c","d","e","f"];
f(z);
f(...z);