JavaScript Array Const
ECMAScript 2015 (ES6)
ในปี 2015 JavaScript ได้แนะนำคำหลักใหม่ที่สำคัญ: const
.
เป็นเรื่องธรรมดาในการประกาศอาร์เรย์โดยใช้const
:
ตัวอย่าง
const cars = ["Saab", "Volvo", "BMW"];
ไม่สามารถมอบหมายใหม่ได้
อาร์เรย์ที่ประกาศด้วยconst
ไม่สามารถกำหนดใหม่ได้:
ตัวอย่าง
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
อาร์เรย์ไม่ใช่ค่าคงที่
คีย์เวิร์ดconst
ทำให้เข้าใจผิดเล็กน้อย
ไม่ได้กำหนดอาร์เรย์คงที่ มันกำหนดการอ้างอิงคงที่ไปยังอาร์เรย์
ด้วยเหตุนี้ เรายังคงสามารถเปลี่ยนองค์ประกอบของอาร์เรย์คงที่ได้
องค์ประกอบสามารถกำหนดใหม่ได้
คุณสามารถเปลี่ยนองค์ประกอบของอาร์เรย์คงที่:
ตัวอย่าง
// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];
// You can change an element:
cars[0] = "Toyota";
// You can add an element:
cars.push("Audi");
รองรับเบราว์เซอร์
คำconst
หลักไม่ได้รับการสนับสนุนใน Internet Explorer 10 หรือรุ่นก่อนหน้า
ตารางต่อไปนี้กำหนดเบราว์เซอร์รุ่นแรกที่มีการสนับสนุนอย่างเต็มที่สำหรับconst
คำหลัก:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
กำหนดเมื่อประกาศ
ตัวแปร JavaScript const
ต้องได้รับการกำหนดค่าเมื่อมีการประกาศ:
ความหมาย: อาร์เรย์ที่ประกาศด้วยconst
จะต้องเริ่มต้นเมื่อมีการประกาศ
การใช้const
โดยไม่เริ่มต้นอาร์เรย์เป็นข้อผิดพลาดทางไวยากรณ์:
ตัวอย่าง
สิ่งนี้จะไม่ทำงาน:
const cars;
cars = ["Saab", "Volvo", "BMW"];
อาร์เรย์ที่ประกาศด้วยvar
สามารถเริ่มต้นได้ตลอดเวลา
คุณยังสามารถใช้อาร์เรย์ก่อนที่จะมีการประกาศ:
ตัวอย่าง
ไม่เป็นไร:
cars = ["Saab", "Volvo", "BMW"];
var cars;
ขอบเขตบล็อก Const
อาร์เรย์ที่ประกาศด้วยมีconst
Block Scope
อาร์เรย์ที่ประกาศในบล็อกไม่เหมือนกับอาร์เรย์ที่ประกาศนอกบล็อก:
ตัวอย่าง
const cars = ["Saab", "Volvo", "BMW"];
// Here cars[0] is "Saab"
{
const cars = ["Toyota", "Volvo", "BMW"];
// Here cars[0] is "Toyota"
}
// Here cars[0] is "Saab"
อาร์เรย์ที่ประกาศด้วยvar
ไม่มีขอบเขตบล็อก:
ตัวอย่าง
var cars = ["Saab", "Volvo", "BMW"];
// Here cars[0] is "Saab"
{
var cars = ["Toyota", "Volvo", "BMW"];
// Here cars[0] is "Toyota"
}
// Here cars[0] is "Toyota"
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับขอบเขต การบล็อกในบท: ขอบเขต JavaScript
ประกาศอาร์เรย์ใหม่
อนุญาตให้ประกาศอาร์เรย์ที่ประกาศด้วยใหม่var
ได้ทุกที่ในโปรแกรม:
ตัวอย่าง
var cars = ["Volvo", "BMW"]; // Allowed
var cars = ["Toyota", "BMW"]; // Allowed
cars = ["Volvo", "Saab"]; // Allowed
ไม่อนุญาตให้ประกาศหรือกำหนดอาร์เรย์ใหม่ให้กับconst
ในขอบเขตเดียวกัน หรือในบล็อกเดียวกัน:
ตัวอย่าง
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
{
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
}
ไม่อนุญาตให้ประกาศหรือกำหนดconst
อาร์เรย์ใหม่อีกครั้ง ในขอบเขตเดียวกัน หรือในบล็อกเดียวกัน:
ตัวอย่าง
const cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
var cars = ["Volvo", "BMW"]; // Not allowed
cars = ["Volvo", "BMW"]; // Not allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
var cars = ["Volvo", "BMW"]; // Not allowed
cars = ["Volvo", "BMW"]; // Not allowed
}
อนุญาตให้ประกาศอาร์เรย์อีกครั้งด้วยconst
ในขอบเขตอื่น หรือในบล็อกอื่น:
ตัวอย่าง
const cars = ["Volvo", "BMW"]; // Allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
}
{
const cars = ["Volvo", "BMW"]; // Allowed
}
การอ้างอิงอาร์เรย์ที่สมบูรณ์
สำหรับการอ้างอิง Array ฉบับสมบูรณ์ ไปที่:
การอ้างอิงอาร์เรย์ JavaScriptที่สมบูรณ์
ข้อมูลอ้างอิงประกอบด้วยคำอธิบายและตัวอย่างคุณสมบัติและเมธอดของ Array ทั้งหมด