knitevision1
@knitevision1
Ванька Скайуокер

JavaScript: какая разница в объявлении переменных?

var a = 0, b = 0;

или

var a = 0;
var b = 0;


Собственно, в чем разница, в плане ресурсоемкости?
Мне удобнее вторым способом, но на меня все вечно ругаются за это.
  • Вопрос задан
  • 2473 просмотра
Пригласить эксперта
Ответы на вопрос 6
Первый вариант:
var a = 0, b = 0; имеет несколько явных недостатков:
1. При наличии системы контроля версий, добавление новой переменной будет неинформативно. Будет изменена вся строка, что незначительно усложнит ревью кода.
2. Субъективно подобная запись мешает восприятию кода. В ней плохо различимы переменные без присвоенного значения. Т.е. var a = 0, b = 0, c, d = 0;

Второй вариант:
var a = 0;
var b = 0;

Является наиболее расширяемым в плане версионирования (не имеет проблемы с выставлением запятой, как в приведенном ниже третьем варианте), но перегружен служебными словами.
Лично я предпочитаю пользоваться этим синтаксисом в nodejs модулях для подгрузки библиотек в верхней части скрипта:
var fs = require('fs');
var path = require('path');


Третий вариант:
var a = 0,
    b = 0;

Несколько проигрывает второму в плане удобства версионирования (при добавлении переменной С будет изменено две строчки, а не одна), но наиболее распространен в js best practices. Одинаково применим как с выравниванием по 4 пробелам для выстраивания переменных в столбик, так и без надуманного выравнивания.
Из минусов этого варианта, можно отметить забытую запятую после a = 0. В таком случае переменная b будет объявлена глобально, если не используется "use strict"
Ответ написан
VirmarY
@VirmarY
Full-stack web developer
Никакой разницы.
Просто запись в одну строчку как-то быстрее воспринимается, если нужно просто изучить код. Читаешь и просто понимаешь, что "вот тут переменные объявляются".
Ответ написан
@Serjio-Grig
Тот самый никто (=
Байты разве что 2й способ кушает. Оттого время ответа увеличивается
Ответ написан
nanomen
@nanomen
front-end разработчик
Я предпочитаю вообще так писать

var a = 1,
    b = 2,
    c = null;


Так нагляднее видно все объявления переменных, а кучу var тоже смысла нет писать.

Эти рекомендации еще давно я прочитал в книге "совершенный код".
Ответ написан
rdifb0
@rdifb0
Программист, реалист
Лучше использовать второй вариант. Более дружелюбный для CVS.
Ответ написан
Комментировать
mlnkv
@mlnkv
JavaScript Developer
Рекомендовано объявлять все переменные в начале ф-ции одним var
var a = 1000,
  b = 5000,
  str = "Lorem Ipsum";
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы