【JavaScript24】使用const声明常量

发布时间 2023-08-07 23:00:13作者: Tony_xiao

前言

  • const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改。

const 声明常量

  • const定义常量与使用let 定义的变量相似:

    • 二者都是块级作用域
    • 都不能和它所在作用域内的其他变量或函数拥有相同的名称
  • 两者还有以下两点区别:

    • const声明的常量必须初始化,而let声明的变量不用
    • const 定义常量的值不能通过再赋值修改,也不能再次声明。而 let 定义的变量值可以修改。
  • 块级作用域

var a = 10;
const x = 'world';
if (a > 0){
    const x = 'hello';
    console.log(x);   // 这里输出 x 为 hello
}
console.log(x);  // 这里输出 x 为 world
  • 初始化
// 错误写法
const PI;
PI = 3.14

// 正确写法
const PI = 3.14;

//初始化后值不可再修改
const PI = 3.14;
PI = PI + 1; // 报错

并非真正的常量

  • 使用 const 定义的字符串和数字类型是不可变的,当定义一个对象或数组时,里面的内容是可以修改的。
//const 定义对象可以修改属性
const person = {
    name: "yoyo",
    age: 20,
};
person.name = 'hello';
person.age = 30;
console.log(person.name);   // hello
console.log(person.age);     // age

//但是不能给对象重新赋值
const person = {
    name: "yoyo",
    age: 20,
};
person = {name: 'xx', age: 23};  // 报错