ค้นหาเว็บไซต์

ประสิทธิภาพ - การประกาศตัวแปรหลายตัวใน JavaScript


ใน JavaScript สามารถประกาศตัวแปรหลายตัวได้ดังนี้:

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

...หรือแบบนี้:

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

วิธีหนึ่งดีกว่าหรือเร็วกว่าวิธีอื่นหรือไม่?

คำตอบ #1

วิธีแรกง่ายต่อการบำรุงรักษา แต่ละการประกาศเป็นคำสั่งเดียวในบรรทัดเดียว ดังนั้นคุณสามารถเพิ่ม ลบ และจัดลำดับใหม่ของการประกาศได้อย่างง่ายดาย

ด้วยวิธีที่สอง มันน่ารำคาญที่จะลบประกาศแรกหรือประกาศสุดท้ายเพราะประกาศเหล่านี้เริ่มต้นจากคำสำคัญ var และสิ้นสุดด้วยเครื่องหมายอัฒภาคตามลำดับ ทุกครั้งที่คุณเพิ่มการประกาศใหม่ คุณต้องแทนที่เครื่องหมายอัฒภาคในบรรทัดเก่าสุดท้ายด้วยเครื่องหมายจุลภาค

คำตอบ #2

นอกจากความสามารถในการบำรุงรักษา วิธีแรกยังช่วยขจัดความเป็นไปได้ของการสร้างตัวแปรโลกร้ายแรงโดยไม่ตั้งใจ:

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

ในขณะที่วิธีที่สองให้อภัยน้อยกว่า:

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

คำตอบ #3

มันอ่านได้ง่ายกว่ามากเมื่อทำแบบนี้:

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

แต่ใช้พื้นที่และบรรทัดของโค้ดน้อยกว่าด้วยวิธีนี้:

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

มันสามารถเหมาะสำหรับการประหยัดพื้นที่ แต่ให้ตัวบีบอัด JavaScript จัดการมันให้คุณ

คำตอบ #4

ECMAScript 2015 แนะนำการกำหนดค่าด้วยการทำลายโครงสร้าง ซึ่งทำงานได้ค่อนข้างดี:

[a, b] = [1, 2]

a จะเท่ากับ 1 และ b จะเท่ากับ 2.

คำตอบ #5

เป็นเรื่องปกติที่จะใช้คำสั่ง var หนึ่งคำสั่งต่อขอบเขตเพื่อการจัดระเบียบ ซึ่งวิธีที่ทุก ๆ “ขอบเขต” ปฏิบัติตามรูปแบบที่คล้ายกันทำให้โค้ดอ่านง่ายขึ้น นอกจากนี้ เอนจินยัง “hoist” พวกมันทั้งหมดไปที่ด้านบนอยู่แล้ว ดังนั้นการเก็บการประกาศของคุณรวมกันจะจำลองสิ่งที่จะเกิดขึ้นจริงได้ใกล้เคียงมากขึ้น

คำตอบ #6

มันเป็นเพียงเรื่องของความชอบส่วนตัว ไม่มีความแตกต่างระหว่างสองวิธีนี้ นอกจากจะประหยัดไบต์ได้เล็กน้อยในรูปแบบที่สองถ้าคุณลบช่องว่างออก

คำตอบ #7

อาจจะประมาณนี้

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

ยกเว้นเมื่อเปลี่ยนตัวแปรตัวแรกหรือตัวสุดท้าย มันง่ายต่อการดูแลและอ่าน

คำตอบ #8

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

อ่านง่ายกว่:

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

แต่พวกเขาก็ทำสิ่งเดียวกัน

บทความที่เกี่ยวข้อง