Как понять синтаксис деструктуризации в следующих кодах - PullRequest
0 голосов
/ 13 апреля 2020

Я нашел несколько кодов при чтении статьи. И я не могу этого понять. Но когда я проверял это, это работало! Может кто-нибудь сказал мне, что означает параметр? это разрушение?

function test ({ a = '1', b = '2', c = '3' } ={}) {
  console.log(a, b, c);
};
test();  //> "1" "2" "3"

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

Здесь установлены значения по умолчанию для свойств: { a = '1', b = '2', c = '3' }. Как только значение не передается в test() - используется значение по умолчанию {}. У него нет этих свойств a, b, c - поэтому полученные переменные получают значения по умолчанию.

Если вы передадите какой-либо объект с существующими известными свойствами - будут использоваться их значения:

function test ({ a = '1', b = '2', c = '3' } ={}) {
  console.log(a, b, c);
};
test();  //> "1" "2" "3"

test({a: 10});  //> "10" "2" "3"

Подробнее о деструкции можно прочитать на MDN .

0 голосов
/ 14 апреля 2020

Да, теперь я понял.

1, {a = '1', b = '2', c = '3'}: у объекта {a, b, c} есть значения по умолчанию '1', '2', ' 3' .

2, {}: это параметр по умолчанию.

3, {a = '1', b = '2', c = '3'} = {}: it будет деструктурировать параметр до объекта {a, b, c}. затем получить значения переменных a, b, c

спасибо, фалинский.

...