Объявление нескольких переменных их приравниванием, верно ли?
Здравствуйте.
Верно ли будет объявить переменные через var вот так?
var i = s = t = 0;
То же самое ли это, что и var i, s, t; i = s = t = 0; или var i = 0, s = 0, t = 0;?
Искал продолжительное время - нигде не нашел информации об этом, к тому же поисковики съедают знак равенства, либо выдают страницы с кусками кода, не отвечающими никак на мой вопрос.
Заранее спасибо.
P.S. Верно ли писать по "устаревшим стандартам", поддерживая IE8? Понимаю, есть компиляторы, но мне по душе контролировать все. Также, к примеру, совсем не нравится синтаксис ES6 (ну вот не нравится, и все тут), предпочитаю обычные for заместо forEach (или просто написанные функции "each" в самом коде, и так со многими новшествами (в основном, неподдерживаемыми IE8)) и т.п....
Насколько это плохо и плохо ли вообще?
var a, b = a = 123 - вот так правильно, а если var a = b = 123, то вместо создания переменной b запишется 123 в свойство b глобального объекта. Ответы вам дали неверные, обращайтесь к документации: https://developer.mozilla.org/ru/docs/Web/JavaScri...
Да, это аналогично по эффекту. Сперва будет объявлена t, потом s, потом i.
Но, это нечитабельно, лучше объявлять через запятую (или каждую по отдельности) для сохранения чистоты кода и хорошего тона.
Кроме того, объявление через запятую нескольких переменных может помешать отладке (не видно, чему равны переменные в списке), поэтому многие хейтят такой вариант. Возможно, есть еще какие подводные камни в данном способе, но я их не знаю.