Читая документацию в Интернете, я не понимаю, как правильно определить несколько переменных JavaScript в одной строке.
Если я хочу сжать следующий код, каков правильный "строгий" способ JavaScript для определения нескольких переменных javascript в одной строке?
var a = 0;
var b = 0;
Это:
var a = b = 0;
или
var a = var b = 0;
и т.д...
javascript
HeatherK
источник
источник
var $cls = my.namespace.Foo = function(args){ ... }
Ответы:
Вы хотите полагаться на запятые, потому что, если вы полагаетесь на конструкцию множественного назначения, вы в тот или иной момент выстрелите себе в ногу.
Примером может быть:
Все они относятся к одному и тому же объекту в памяти, они не являются «уникальными», поскольку каждый раз, когда вы делаете ссылку на объект (массив, литерал объекта, функцию), он передается по ссылке, а не по значению. Поэтому, если вы измените только одну из этих переменных и захотите, чтобы они действовали индивидуально, вы не получите того, что хотите, потому что они не являются отдельными объектами.
У множественного присваивания есть и обратная сторона, поскольку вторичные переменные становятся глобальными, и вы не хотите попадать в глобальное пространство имен.
Лучше всего использовать запятые и желательно с большим количеством пробелов, чтобы его можно было прочитать:
источник
ReferenceError
исключение ... ИМО, их следует избегать ...Используя Javascript es6 или node, вы можете сделать следующее:
И если вы хотите легко распечатать несколько переменных в одной строке, просто сделайте следующее:
Это похоже на ответ @alex gray здесь, но этот пример написан на Javascript, а не на CoffeeScript.
Обратите внимание, что это использует назначение деструктуризации массива Javascript
источник
console.log(a,b,c,d)
вместо этого не использовать в этом случае? он короче и дает тот же результатНевозможно сделать это в одной строке с присвоением значения.
делает b глобальным. Правильный способ (без утечки переменных) немного длиннее:
что полезно в случае:
источник
Почему бы не сделать это в две строчки?
Причина в том, чтобы сохранить локальную область видимости в объявлениях переменных, например:
приведет к неявным декларациям
b
,c
иd
на оконной области.источник
Вот новый метод ES6 для объявления нескольких переменных в одной строке:
* Имя вашей переменной и индекс объекта должны совпадать
источник
let { a, b } = { a: 0, b: 0 }
.В частности, к тому, что спросил OP, если вы хотите инициализировать N переменных с одним и тем же значением (например
0
), вы можете использовать деструктуризацию массива и Array.fill, чтобы присвоить переменным массив из N0
s:источник
обратите внимание, вы можете делать это только с числами и строками
ты мог бы сделать ...
источник