значение по умолчанию в деструктуризации для неопределенного - PullRequest
0 голосов
/ 12 сентября 2018

Если я сделаю это

let { uid = undefined } = res.body.something

имеет ли смысл? если uid нет, то уже не определено? Значение по умолчанию здесь избыточно.

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Да, этот пример бесполезен. Единственное преимущество, которое приходит на ум при таком подходе, может заключаться в том, чтобы четко указывать, что данное свойство, как известно, является необязательным. Тем не менее, я не думаю, что это лично что-то добавляет.

Единственный другой случай, который мне приходит в голову, когда я мог бы рассмотреть что-то подобное, - это функция с необязательным аргументом, который я хотел четко указать как необязательный, например,

function doThing(arg = undefined) { }

Это может быть полезно, поскольку на самом деле вы не хотите устанавливать значение по умолчанию для arg, но вы хотите, чтобы подпись указывала, что она необязательна. Затем вы могли бы легко передать arg какой-либо другой функции, которая могла бы предоставить реальное значение по умолчанию.

0 голосов
/ 12 сентября 2018

Да, это избыточно.Как MDN говорит :

Переменной может быть назначено значение по умолчанию, в случае, если значение, распакованное из объекта, равно undefined.

Таким образом, значение по умолчанию будет использоваться, если распакованное значение равно undefined - значение по умолчанию undefined не имеет смысла, поскольку в любом случае оно будет undefined.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...