谈谈JS中的const

549 阅读1分钟

前言

在ES6中声明变量可用let也可以使用const,只不过后者声明的是一个内存地址值为不可改变的对象。

基本用法

先来看如下代码感受一下const的使用: 在这里插入图片描述 上面代码表明改变常量的值会报错,一旦在代码里使用const声明的简单类型的数据(数值、字符串、布尔值)其值就不可改变,这有点像Java中final 修饰的基本类型变量为常量。需要注意的是constlet一样只在声明的块级作用域有效。

        {
            const b =123;
        }
        //  Uncaught ReferenceError: b is not defined
        console.log(b)

当使用const声明一个对象和数组时后,此变量的引用便不可修改,但是此变量内部属性还是可以进行修改的。 111 定义一个对象person 在这里插入图片描述 控制台输出结果: 在这里插入图片描述 我们在定义一个数组对象: 在这里插入图片描述 控制台输出效果: 在这里插入图片描述 上面代码中,使用const定义的变量保存的是一个地址值,这个地址指向一个对象引用。const保证这个地址值是不可变的,但对象本身是可变的,所以可以变更这个对象内部的属性。