const是javascript内置的一个关键字,const用于声明一个或多个常量,可以声明只读的常量,声明时必须进行初始化,一旦声明,常量的值就不能改变。一个常量不能和它所在作用域内的其他变量或函数拥有相同的名称。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。
let 声明的变量只在 let 命令所在的代码块内有效。
const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改:
const PI = 3.141592653589793; PI = 3.14; // 报错 PI = PI + 10; // 报错
const定义常量与使用let 定义的变量相似:
二者都是块级作用域
都不能和它所在作用域内的其他变量或函数拥有相同的名称
两者还有以下两点区别:
const声明的常量必须初始化,而let声明的变量不用
const 定义常量的值不能通过再赋值修改,也不能再次声明。而 let 定义的变量值可以修改。
var x = 10; // 这里输出 x 为 10 { const x = 2; // 这里输出 x 为 2 } // 这里输出 x 为 10
const 声明的常量必须初始化:
// 错误写法 const PI; PI = 3.14159265359; // 正确写法 const PI = 3.14159265359;
并非真正的常量
const 的本质: const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值。使用 const 定义的对象或者数组,其实是可变的。下面的代码并不会报错:
// 创建常量对象 const car = {type:"Fiat", model:"500", color:"white"}; // 修改属性: car.color = "red"; // 添加属性 car.owner = "Johnson";
但是我们不能对常量对象重新赋值:
const car = {type:"Fiat", model:"500", color:"white"}; car = {type:"Volvo", model:"EX60", color:"red"}; // 错误
以下实例修改常量数组:
// 创建常量数组 const cars = ["Saab", "Volvo", "BMW"]; // 修改元素 cars[0] = "Toyota"; // 添加元素 cars.push("Audi");
但是我们不能对常量数组重新赋值:
const cars = ["Saab", "Volvo", "BMW"]; cars = ["Toyota", "Volvo", "Audi"]; // 错误
更多编程相关知识,请访问:编程视频!!
以上是javascript中什么是const的详细内容。更多信息请关注PHP中文网其他相关文章!