showMenu({
title = "Untitled",
width: w = 100, // width присваиваем в w
height: h = 200, // height присваиваем в h
items: [item1, item2] // первый элемент items присваивается в item1, второй в item2
}) {
...
}
Ниже написано: Пожалуйста, обратите внимание, что такое деструктурирование подразумевает, что в showMenu() будет обязательно передан аргумент. Если нам нужны все значения по умолчанию, то нам следует передать пустой объект:
Делаю так у себя, как в примере кода:
showMenu({}); // в учебнике сказано: ок, все значения - по умолчанию
Получаю: TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
Что я делаю не так?
Скинь ссылку на свой код
https://jsfiddle.net/yv0oxg8L/
я так понял что деструктуризация подразумевает наличие метода, возвращающего итератор (свойство с Symbol), его нет, значит и деструктурировать оно не сможет. но вот в этой главе сказано, что должно работать. Почему тогда у меня не работает? Или в учебнике ошибка?
Начальное значение в items присвой и будет работать)
ну т.е. в книге ошибка, я верно понимаю?)
Где?
Можно считать, что да. Неточность точно. Абзац со скрина верен для описания функции в варианте на абзац ниже, а не выше
все, понял, спасибо) подумал что я упустил какую-то деталь.
Обсуждают сегодня