JavaScript const
JavaScript const
块作用域
var x = 10;
//此处 x 为 10
{
const x = 6;
//此处 x 为 6
}
//此处 x 为 10
在声明时赋值
const PI;
PI = 5134525352;//不正确
const PI = 2.3532542352;//正确
原始值不可改变
const PI = 3.354254524;
PI = 4324;//ERROR
常量对象可以更改
const car = {name:"yao", age:14, height:170};
car.name = 'li';//可以更改属性
car.nu = 1;//可以添加属性
无法重新为常量对象赋值
const car = {name:"yao", age:14, height:170};
car = {name:'li', age:3, height:160};//ERROR
常量数组可以更改
const cars = ['Audi', 'BMW', 'porsche'];
cars[0] = 'Honda';//可以更改元素
cars.push('Volvo');//可以添加元素
无法重新为常量数组赋值
const cars = ['Audi', 'BMW', 'porsche'];
car = ['Honda', 'Volvo', 'BMW'];//ERROR
重新声明
在同一作用域或块中,不允许将已有的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 = 3;//不允许
let = 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;//允许
}
提升
通过const
定义的变量不会被提升到顶端
const
变量不能在声明之前使用
carName = 'Volvo';
//不可以在此处使用carName
const carName = 'Volvo';