Вы не можете сделать это в JS.
Если в объявлении переменной указано несколько переменных (var
, let
или const
), каждое значение имеет свой собственный инициализатор, поэтому оно Невозможно присвоить одно значение нескольким переменным в одном операторе объявления без повторения.
Если инициализатор отсутствует (нет = value
части), переменная будет установлена в undefined
.
Итак, если вы использовали let
, тогда c
будет 1
, а a
и b
будут undefined
:
let a, b, c = 1;
console.log(a, b, c) //undefined undefined 1
Однако пропуск инициализатора в объявлении const
вызывает ошибку (не имеет большого смысла назначать undefined
константе, верно?)
Следовательно, ваш код не работает (не только в ESLint, но и в любой JS среде выполнения, которая правильно реализует стандарт ECMAScript):
const a, b, c = 1; //SyntaxError
Чтобы присвоить одно и то же значение нескольким переменным, вы должны либо:
Повторить значение (это не сработает если значение является литералом объекта (включая литералы массива и выражения функций) или возвращается конструктором, фабрикой или нечистой функцией):
const a = 1, b = 1, c = 1;
console.log(a, b, c) //1 1 1
Назначьте переменные друг от друга (совет: сначала поместите одну с самым коротким именем и повторите это):
const a = 1, b = a, c = a;
console.log(a, b, c) //1 1 1
Используйте let
:
let a, b, c;
a = b = c = 1
console.log(a, b, c) //1 1 1
Уничтожьте бесконечный итератор (что кажется полезным в случае очень большого количества переменных):
const [a, b, c] = (function*(v){while(true) yield v})(1);
// ^--- Value
console.log(a, b, c) //1 1 1