Const JavaScript
ECMAScript 2015:
ECMAScript 2015 ໄດ້ນຳຂາຍຄຳສັ່ງທີ່ສໍາຄັນສອງຄຳສັ່ງໃໝ່ຂອງ JavaScript:let
ແລະ: const
.
ໄດ້ຮັບ const
ຄວາມພາບທີ່ຖືກສ້າງ: let
ຄວາມພາບທີ່ຖືກສ້າງ:
ຄວາມຄິດ
const PI = 3.141592653589793; PI = 3.14; // ຈະມີຄວາມຜິດ: PI = PI + 10; // ຈະມີຄວາມຜິດ:
ບາງ:
ຄວາມພາບທີ່ຄ້າຍຄືກັນ:ບາງ:ໃນ: const
ຄວາມພາບທີ່ຖືກຖະແຫຼງ: let
ຄວາມຄ້າຍຄືກັນ:
ໃນບັນທັດນີ້ x ແມ່ນຖືກຖະແຫຼງໃນບາງ:
ຄວາມຄິດ
var x = 10; // ບາງທີ່ນີ້ x ແມ່ນ 10: { const x = 6; // ບາງທີ່ນີ້ x ແມ່ນ 6: } // ບາງທີ່ນີ້ x ແມ່ນ 10:
ໃນວັນນີ້: Let JavaScript ທ່ານຈະຮຽນຫຼາຍກວ່າການຮຽນໃນຫຼັກສາດ:
ໃນການຖະແຫຼງ:
JavaScript: const
ຄວາມພາບບັນດາວັດສະດຸຕ້ອງຖືກຕິດຕັ້ງຄູ່ມູນພາບໃນການຖະແຫຼງ:
ບໍ່ຖືກຕ້ອງ:
const PI; PI = 3.14159265359;
ທີ່ຖືກຕ້ອງ:
const PI = 3.14159265359;
ບໍ່ແມ່ນຄູ່ມູນຄົງແທ້:
ຄຳສັ່ງ: const
ມັນມີຄວາມອ້ອມອາກາດ:
ມັນບໍ່ມີການສະແດງຄູ່ມູນຄົງຈາກວັດສະດຸຄົງ. ມັນພຽງແຕ່ການສະແດງຄູ່ມູນຂອງວັດສະດຸ:
ຍ້ອນແນວນັ້ນພວກເຮົາບໍ່ສາມາດປ່ຽນຄູ່ມູນພາບທຳອິດຂອງວັດສະດຸຄົງແລ້ວຫຼັງຈາກນັ້ນພວກເຮົາສາມາດປ່ຽນປະສົມຂອງວັດສະດຸຄົງ:
ຄູ່ມູນພາບທຳອິດ:
ຖ້າທ່ານຈະຕິດຕັ້ງຄູ່ມູນພາບທຳອິດໃຫ້ວັດສະດຸຄົງແລ້ວຫຼັງຈາກນັ້ນພວກເຮົາບໍ່ສາມາດປ່ຽນຄູ່ມູນພາບທຳອິດ:
ຄວາມຄິດ
const PI = 3.141592653589793; PI = 3.14; // ຈະມີຄວາມຜິດ: PI = PI + 10; // ຈະມີຄວາມຜິດ:
ບັນດາວັດສະດຸຄົງສາມາດປ່ຽນ:
ທ່ານສາມາດປ່ຽນປະສົມຂອງວັດສະດຸຄົງ:
ຄວາມຄິດ
// ທ່ານສາມາດສ້າງບັນດາວັດສະດຸ const: const car = {type:"porsche", model:"911", color:"Black"}; // ທ່ານສາມາດປ່ຽນປະສົມປະເພາະນັ້ນ: car.color = "White"; // 您可以添加属性: car.owner = "Bill";
但是您无法重新为常量对象赋值:
ຄວາມຄິດ
const car = {type:"porsche", model:"911", color:"Black"}; car = {type:"Volvo", model:"XC60", color:"White"}; // ERROR
常量数组可以更改
您可以更改常量数组的元素:
ຄວາມຄິດ
// 您可以创建常量数组: const cars = ["Audi", "BMW", "porsche"]; // 您可以更改元素: cars[0] = "Honda"; // 您可以添加元素: cars.push("Volvo");
但是您无法重新为常量数组赋值:
ຄວາມຄິດ
const cars = ["Audi", "BMW", "porsche"]; cars = ["Honda", "Toyota", "Volvo"]; // ERROR
浏览器支持
Internet Explorer 10 或更早版本不支持 const
关键词。
下表定义了第一个完全支持 const 关键词的浏览器版本:
Chrome 49 | IE / Edge 11 | Firefox 36 | Safari 10 | Opera 36 |
2016 年 3 月 | 2013 年 10 月 | 2015 年 2 月 | 2016 年 9 月 | 2016 年 3 月 |
重新声明
在程序中的任何位置都允许重新声明 JavaScript var
变量:
ຄວາມຄິດ
var x = 2; // ອະນຸຍາດ var x = 3; // ອະນຸຍາດ x = 4; // ອະນຸຍາດ
在同一作用域或块中,不允许将已有的 var
或 let
变量重新声明或重新赋值给 const
:
ຄວາມຄິດ
var x = 2; // ອະນຸຍາດ const x = 2; // ບໍ່ອະນຸຍາດ { let x = 2; // ອະນຸຍາດ const x = 2; // ບໍ່ອະນຸຍາດ }
在同一作用域或块中,为已有的 const 变量重新声明声明或赋值是不允许的:
ຄວາມຄິດ
const x = 2; // ອະນຸຍາດ const x = 3; // ບໍ່ອະນຸຍາດ x = 3; // ບໍ່ອະນຸຍາດ var x = 3; // ບໍ່ອະນຸຍາດ let x = 3; // ບໍ່ອະນຸຍາດ { const x = 2; // ອະນຸຍາດ const x = 3; // ບໍ່ອະນຸຍາດ x = 3; // ບໍ່ອະນຸຍາດ var x = 3; // ບໍ່ອະນຸຍາດ let x = 3; // ບໍ່ອະນຸຍາດ }
ຖືກປະກາດໃໝ່ໃນພື້ນທີ່ຜູ້ນຳຄວາມຄືນຫລາຍຫລາຍ const
ສາມາດອະນຸຍາດ:
ຄວາມຄິດ
const x = 2; // ອະນຸຍາດ { const x = 3; // ອະນຸຍາດ } { const x = 4; // ອະນຸຍາດ }
ການຍົກຂຶ້ນໄປຫາພື້ນທີ່ສຸດ
ໄດ້ຮັບ var
ບັນດາຄວາມທີ່ຖືກການປະກາດຈະການຍົກຂຶ້ນໄປຫາພື້ນທີ່ສຸດຍົກຂຶ້ນໄປຫາພື້ນທີ່ສຸດ. ຖ້າບໍ່ຮູ້ກ່ຽວກັບການຍົກຂຶ້ນໄປຫາພື້ນທີ່ສຸດ (Hoisting), ຮຽນຫນັງການຍົກຂຶ້ນໄປຫາພື້ນທີ່ສຸດນີ້.
ທີ່ສາມາດໃຊ້ var ບັນດາຄວາມກ່ອນການປະກາດ
ຄວາມຄິດ
carName = "Volvo"; // ສາມາດໃຊ້ carName ທີ່ນີ້ var carName;
ໄດ້ຮັບ const
ບັນດາຄວາມທີ່ຖືກການປະກາດຈະບໍ່ຖືກຍົກຂຶ້ນໄປຫາພື້ນທີ່ສຸດ.
const
ບໍ່ສາມາດໃຊ້ບັນດາຄວາມກ່ອນການປະກາດ
ຄວາມຄິດ
carName = "Volvo"; // ບໍ່ສາມາດໃຊ້ carName ທີ່ນີ້ const carName = "Volvo";