@KirylLapouski

Почему оператор spread можно применять к объектам?

Почему этот код валидный?
var obj1 = { foo: 'bar', x: 42 };
var obj2 = { foo: 'baz', y: 13 };

var clonedObj = { ...obj1 };
// Object { foo: "bar", x: 42 }

var mergedObj = { ...obj1, ...obj2 };
// Object { foo: "baz", x: 42, y: 13 }

На mdn написано, что оператор spread используется только для итерируемых объектов, и в примере вот такой код. И он почему-то не валидный.
var obj = {'key1': 'value1'};
var array = [...obj];
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Из объекта создать объект можно, из объекта создать массив нельзя. В чём вопрос?

Почему этот код валидный?
Потому что движок языка знает что с этим кодом делать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
rockon404
@rockon404
Frontend Developer
На mdn написано, что оператор spread используется только для итерируемых объектов, и в примере вот такой код. И он почему-то не валидный.

Так это как раз демонстрация кода инициирующего ошибку:
TypeError: obj is not iterable
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы