Гарантируется ли, какая переменная будет инициализирована первой, если мы используем запятую в JavaScript? - PullRequest
0 голосов
/ 15 марта 2019

Гарантируется ли, какая переменная будет инициализирована первой, если мы используем запятую в JavaScript?

Например, если у меня есть следующий фрагмент кода:

var a = function() {return 2;} , b = a();

Гарантируется ли, что инициализация a будет предшествовать инициализации b?

Я понимаю, что лучше использовать ключевое слово var каждый раз, когда я инициализирую переменную. Но все же меня интересует ответ на мой вопрос, так как я не смог найти ответ в Интернете для JavaScript.

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

b = 2, a = 2; console.log(window.a, window.b); //outputs 2 2
var b = 2, a = 2; console.log(window.a, window.b); //outputs undefined undefined

Спасибо.

1 Ответ

1 голос
/ 15 марта 2019

Я удалил свой ответ по ошибке выше; но да, оператор запятой сначала вычисляет левое и правое выражения после этого

Редактировать: Кажется, использование , для объявления нескольких переменных не связано с оператором запятой

...