我不明白...
符号具体是什么意思。
我尝试使用Babel做了一个简单的示例来理解它(查看示例),但似乎:
ES6语法
let myArray = [1, 2, 3, ...18];
console.log(myArray); // [1, 2, 3]
console.log(myArray[4]);// undefined
console.log(myArray.length); // 3
就是与这种 ES5 语法相同:
"use strict";
function _toConsumableArray(arr) {
if (Array.isArray(arr)) {
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
arr2[i] = arr[i];
}
return arr2;
} else {
return Array.from(arr);
}
}
var myArray = [1, 2, 3].concat(_toConsumableArray(18));
console.log(myArray); // [1, 2, 3]
console.log(myArray[4]); // undefined
console.log(myArray.length); // 3
BUT:这段代码是做什么用的?因为输出结果(console.log
)与这段ES5代码的一样:
var myArray = [1,2,3];
console.log(myArray); // [1, 2, 3]
console.log(myArray[4]);// undefined
console.log(myArray.length); // 3
...18
表示省略了中间的部分,只显示前面和后面的 18 个字符。
...'18'
,它是'1', '8'
。 - user4227915...[18]
! - Alex Booker...Array(18).keys()
? - user4227915...1000000
。 - Aral Roca