Я не понимаю, что именно делает ...
.Что означает обозначение «...» (тройная точка) в массивах?
Я попытался простой пример с Вавилонской, чтобы понять это (view the example), но мне кажется, что:
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
НО: Что делает этот код? Поскольку выход (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
обозначения означают?
Нет ничего, поскольку оператор с расширением _spread не работает с числами. Возможно, вы хотите '... '18'', который является'' 1 ',' 8'' –
@WashingtonGuedes Or '... [18]'! –
Что вы ожидали от этого кода? (И почему ...) – Amit