Почему undefine для деструктивных переменных - PullRequest
0 голосов
/ 11 июля 2020

Почему значения деструктирующих переменных не определены? Я также ссылался на "..developer.mozilla.org", но что не так? вот мой javascript фрагмент кода =>

let myid, myname, myage;
// let person = [1, 'Kyaw Kyaw', 25];
// [myid, myname, myage] = person;
({ myid, myname, myage } = { id: 1, name: "Kyaw Kyaw", age: 25 });
console.log(myid);
console.log(myname);
console.log(myage);

Когда я получил вывод для этих переменных, они все «undefine»! Что случилось? Очень интересно !!

1 Ответ

2 голосов
/ 11 июля 2020

Объекты деструктуризации основаны на имени переменной и свойства, а не на порядке .

myid - это имя, отличное от id поэтому он не совпадает.

yourobject.myid равно undefined.

Если вы хотите сохранить значение в имени переменной, которое не соответствует имя свойства, то вы должны указать это явно в формате: property_name: variable_name

const my_object = { id: 1, name: "Kyaw Kyaw", age: 25 };

console.log(my_object.myid);

let { id: myid, name: myname, age: myage } = my_object;
console.log(myid);
console.log(myname);
console.log(myage);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...