ประสิทธิภาพ - การประกาศตัวแปรหลายตัวใน 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;
แต่พวกเขาก็ทำสิ่งเดียวกัน
