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的知识。速戳>>知识兔学习精品课!