Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

Что значит запись вида const { name } = value?

#javascript #const


Увидел в описании использования одного из npm-пакетов запись  вида const { NAME }
= value. В JavaScript не профи, так что никак не могу понять/найти зачем эти скобки
вокруг имени переменной и чем тогда это отличается от обычного const NAME = value?
    


Ответы

Ответ 1



Это называется деструктуризация, используется для более короткой записи const {name} = value; // value = {name: ''} name; // '' // то же самое что и const name = value.name; Можно использовать в параметрах функции const foo = ({prop}) => {} foo({prop: 'prop'}); Для возвращения нескольких параметров из функции const foo = () => ({var1: 1, var2: 2}) const {var1, var2} = foo(); Важно: имена переменных должны совпадать с ключами в объекте const {name} = {prop: 1}; // name = undefined // но если очень хочется:) const {prop: name} = {prop: 1}; // name = 1 Так же работает с массивами const [a, b] = [1, 2, 3, 4]; // a = 1, b = 2 Вот как теперь можно обменять значения двух переменных let a = 1, b = 0; [a, b] = [b, a];

Комментариев нет:

Отправить комментарий