Const ในตัวแปรแบบแถว JavaScript

ECMAScript 2015 (ES6)

ในปี 2015 ภาษา JavaScript ได้นำเสนอคำกำหนดใหม่ที่สำคัญ:const.

ใช้ const การประกาศแบบแหล่งข้อมูลเป็นกระบวนการที่เป็นไปตามนัย:

ตัวอย่าง

const cars = ["Saab", "Volvo", "BMW"];

ทดลองด้วยตัวเอง

ไม่สามารถกำหนดค่าใหม่:

ด้วย const แบบแหล่งข้อมูลที่ได้มีการประกาศไม่สามารถกำหนดค่าใหม่:

ตัวอย่าง

const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"];    // ERROR

ทดลองด้วยตัวเอง

แบบแหล่งข้อมูลไม่ใช่ตัวแปรคงคล้ายแบบ

คำกำหนด const มีความขัดแย้ง:

มันไม่ได้นิยามตัวแปรคงคล้ายแบบแหล่งข้อมูล。มันนิยามคืออ้างอิงคงคล้ายแบบของแบบแหล่งข้อมูล:

ดังนั้น,เรายังสามารถเปลี่ยนอิเล็มนต์ของตัวแปรคงคล้ายแบบแหล่งข้อมูล:

อิเล็มนต์สามารถกำหนดค่าใหม่:

คุณสามารถเปลี่ยนอิเล็มนต์ของตัวแปรคงคล้ายแบบแหล่งข้อมูล:

ตัวอย่าง

// คุณสามารถสร้างตัวแปรคงคล้ายแบบแหล่งข้อมูล:
const cars = ["Saab", "Volvo", "BMW"];
// คุณสามารถเปลี่ยนอิเล็มนต์:
cars[0] = "Toyota";
// คุณสามารถเพิ่มอิเล็มนต์:
cars.push("Audi");

ทดลองด้วยตัวเอง

เบราเซอร์สนับสนุน

Internet Explorer 10 หรือต่ำกว่านี้ไม่สนับสนุน const คีย์ว่าร์

ตารางด้านล่างระบุการสนับสนุนคีย์ว่าrd ในการประกาศครั้งแรกที่สุดของเบราเซอร์ที่สนับสนุน

Chrome IE Firefox Safari Opera
Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
เดือนมีนาคม 2016 ปี เดือนตุลาคม 2013 ปี เดือนกุมภาพันธ์ 2015 ปี เดือนกันยายน 2016 ปี เดือนมีนาคม 2016 ปี

กำหนดค่าในตอนประกาศ

JavaScript const ตัวแปรจะต้องมีการกำหนดค่าในตอนประกาศ

หมายความว่า ใช้ const ตัวแปรที่ประกาศด้วย const จะต้องมีการกำหนดค่าในตอนประกาศ

ใช้ const และไม่ได้ใช้ตัวแปร陣列คือข้อผิดพลาดทางการเขียนรูปแบบ

ตัวอย่าง

ไม่มีผล:

const cars;
cars = ["Saab", "Volvo", "BMW"];

ด้วย var ตัวแปร陣列ที่ประกาศสามารถเริ่มต้นได้ตลอดเวลา

คุณแม้แต่จะใช้ตัวแปร陣列ก่อนการประกาศ

ตัวอย่าง

ไม่มีปัญหา:

cars = ["Saab", "Volvo", "BMW"];
var cars;

ทดลองด้วยตัวเอง

สิ่งใช้งานบล็อค const

ด้วย const ตัวแปร陣列ที่ประกาศด้วย const มีสิ่งใช้งานบล็อค.

ตัวแปร陣列ที่ประกาศในบล็อคและนอกบล็อคต่างกัน:

ตัวอย่าง

const cars = ["Saab", "Volvo", "BMW"];
// ตรงนี้ cars[0] คือ "Saab"
{
  const cars = ["Toyota", "Volvo", "BMW"];
  // ตรงนี้ cars[0] คือ "Toyota"
}
// ตรงนี้ cars[0] คือ "Saab"

ทดลองด้วยตัวเอง

ด้วย var ตัวแปร陣列ที่ประกาศด้วย const ไม่มีสิ่งใช้งานบล็อค:

ตัวอย่าง

var cars = ["Saab", "Volvo", "BMW"];
// ตรงนี้ cars[0] คือ "Saab"
{
  var cars = ["Toyota", "Volvo", "BMW"];
  // ตรงนี้ cars[0] คือ "Toyota"
}
// ตรงนี้ cars[0] คือ "Toyota"

ทดลองด้วยตัวเอง

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งใช้งานบล็อคในบทความด้านล่าง:JavaScript สเปลซ.

ประกาศตัวแปร陣列

ในทุกจุดของโปรแกรมทุกที่สามารถใช้ var ประกาศใหม่ในแผนกหรือบล็อคอื่น:

ตัวอย่าง

var cars = ["Volvo", "BMW"];   // อนุญาต
var cars = ["Toyota", "BMW"];  // อนุญาต
cars = ["Volvo", "Saab"];      // อนุญาต

ไม่อนุญาตให้ประกาศหรือกำหนดค่าใหม่ในสิ่งใช้งานหรือบล็อคเดียวกันให้แก่ตัวแปร陣列 const

ตัวอย่าง

var cars = ["Volvo", "BMW"];         // อนุญาต
const cars = ["Volvo", "BMW"];       // ไม่อนุญาต
{
  var cars = ["Volvo", "BMW"];         // อนุญาต
  const cars = ["Volvo", "BMW"];       // ไม่อนุญาต
}

ไม่อนุญาตให้ประกาศหรือกำหนดค่าใหม่ในสิ่งใช้งานหรือบล็อคเดียวกัน const ตัวแปร陣列:

ตัวอย่าง

const cars = ["Volvo", "BMW"];       // อนุญาต
const cars = ["Volvo", "BMW"];       // ไม่อนุญาต
var cars = ["Volvo", "BMW"];         // ไม่อนุญาต
cars = ["Volvo", "BMW"];             // ไม่อนุญาต
{
  const cars = ["Volvo", "BMW"];     // อนุญาต
  const cars = ["Volvo", "BMW"];     // ไม่อนุญาต
  var cars = ["Volvo", "BMW"];       // ไม่อนุญาต
  cars = ["Volvo", "BMW"];           // ไม่อนุญาต
}

อนุญาตให้ใช้ในแผนกหรือบล็อคอื่น const ประกาศใหม่ในแผนกหรือบล็อคอื่น:

ตัวอย่าง

const cars = ["Volvo", "BMW"];       // อนุญาต
{
  const cars = ["Volvo", "BMW"];     // อนุญาต
}
{
  const cars = ["Volvo", "BMW"];     // อนุญาต
}

คู่มืออ้างอิงลูปที่สมบูรณ์

สำหรับคู่มืออ้างอิงที่สมบูรณ์ โปรดเข้าถึง คู่มืออ้างอิง JavaScript ลูป.

คู่มืออ้างอิง JavaScript ลูปรวมทั้งหมดของสมบัติและวิธีใช้ตัวอย่าง