prestanda - Deklarera flera variabler i JavaScript


I JavaScript är det möjligt att deklarera flera variabler på detta sätt:

var variable1 = "Hello, World!";
var variable2 = "Testing...";
var variable3 = 42;

...eller så här:

var variable1 = "Hello, World!",
    variable2 = "Testing...",
    variable3 = 42;

Är en metod bättre/snabbare än den andra?

Svar #1

Det första sättet är lättare att underhålla. Varje deklaration är ett enda uttalande på en enda rad, så du kan enkelt lägga till, ta bort och ändra ordningen på deklarationerna.

Med det andra sättet är det irriterande att ta bort den första eller sista deklarationen eftersom de börjar med var-nyckelordet och slutar med semikolon respektive. Varje gång du lägger till en ny deklaration måste du ersätta semikolonet i den sista gamla raden med ett kommatecken.

Svar #2

Förutom underhållbarhet eliminerar det första sättet möjligheten till oavsiktlig skapande av globala variabler:

(function () {
var variable1 = "Hello, World!" // Semicolon is missed out accidentally
var variable2 = "Testing..."; // Still a local variable
var variable3 = 42;
}());

Medan det andra sättet är mindre förlåtande:

(function () {
var variable1 = "Hello, World!" // Comma is missed out accidentally
    variable2 = "Testing...", // Becomes a global variable
    variable3 = 42; // A global variable as well
}());

Svar #3

Det är mycket mer läsbart när man gör det på det här sättet:

var hey = 23;
var hi = 3;
var howdy 4;

Men tar mindre plats och färre kodrader på detta sätt:

var hey=23,hi=3,howdy=4;

Det kan vara idealiskt för att spara utrymme, men låt JavaScript-kompressorer hantera det åt dig.

Svar #4

ECMAScript 2015 introducerade destruktureringstilldelning som fungerar ganska bra:

[a, b] = [1, 2]

a kommer att vara lika med 1 och b kommer att vara lika med 2.

Svar #5

Det är vanligt att använda ett var-uttalande per scope för att organisera. Alla "scopes" följer ett liknande mönster vilket gör koden mer läsbar. Dessutom "hoistar" motorn dem alla till toppen ändå. Så att hålla dina deklarationer tillsammans efterliknar vad som faktiskt kommer att hända mer noggrant.

Svar #6

Det är bara en fråga om personlig preferens. Det finns ingen skillnad mellan dessa två sätt, förutom några få byte som sparas med den andra formen om du tar bort blankstegen.

Svar #7

Kanske så här

var variable1 = "Hello, World!"
, variable2 = 2
, variable3 = "How are you doing?"
, variable4 = 42;

Förutom när man ändrar den första eller sista variabeln, är det lätt att underhålla och läsa.

Svar #8

var variable1 = "Hello, World!";
var variable2 = "Testing...";
var variable3 = 42;

är mer lättläst än:

var variable1 = "Hello, World!",
    variable2 = "Testing...",
    variable3 = 42;

Men de gör samma sak.

Relaterade artiklar