Я не люблю , ,
здесь:Что я могу использовать в качестве заполнителей в деструкции массива es6?
let colors = [ "red", "green", "blue" ];
let [ , , thirdColor] = colors;
Могу ли я использовать некоторые местозаполнители символы? Я бы предпочел не вводить неиспользуемые переменные, я просто хочу сделать код более понятным. Прямо сейчас единственное, о чем я могу думать, это комментарии:
let [/*first*/, /*second*/, thirdColor] = colors;
Любые лучшие идеи?
Если '[_, _, thirdColor]' на самом деле производят ошибку? Реализация Firefox позволяет это; Я не нырнул в спецификацию, чтобы понять, не так ли. – apsillers
'[_, _, thirdcolor] = ....' и 'let [_, _, thirdColor] = ...' разные. Первый из них прекрасен, поскольку это просто назначение переменной, а второе - объявление переменной, а 'let' не разрешает повторные объявления. Firefox также генерирует ошибку в этом случае: '(function() {" use strict "; let [_, _,] = [1,2];}())' дает 'TypeError: redeclaration of let _'. –
О, я тестировал область верхнего уровня, которая, по-видимому, позволяет «let' re-declarations. (Действительно, я могу оценить, что 'let' не имеет особого значения, когда ваша переменная имеет видимость верхнего уровня, поэтому я могу понять, почему там может быть другое поведение.) Когда я перемещаю ее внутри функции или блока, это действительно выдает ошибку. – apsillers