JS const关键字生成常量的三个特点介绍
本文详细解析JavaScript ES6中const关键字声明常量的三个核心特点:具备块级作用域、声明时必须初始化赋值、以及常量值不可修改。文章通过代码示例对比基本数据类型与复杂数据类型的内存地址行为,帮助开发者准确掌握常量的使用限制。
const是ES6新增的关键字,专门用于声明常量。常量指的是其值(即内存地址)不可改变的量。使用const声明的常量具备三个主要特点,下文将逐一展开说明。
1.const关键字声明的常量具有块级作用域
const声明的常量拥有块级作用域,其作用域范围与let关键字一致。这意味着通过const声明的变量仅在声明所在的代码块内有效。
以下代码演示了const声明常量的块级作用域效果,示例代码如下。
<script>
if {true} {
const a = 10;
console.1og(a): //输出结果:10
}
console.log (a); //报错,a未定义
</script>在上述代码中,第3行在if语句块内使用const声明了常量a并赋值为10;第4行输出常量a的值,结果为10;而第6行在语句块外部尝试输出常量a,此时会报错。这表明const声明的常量仅在所属的块级作用域内有效,即常量a只能在if语句块内部被访问。
2.const关键字声明常量时必须赋值
const声明的是一个只读常量。一旦声明,其值便不可更改。这意味着在使用const关键字时,
必须在声明常量时提供初始化值,否则程序会报错。以下代码演示了const声明常量时未赋值的情况,示例代码如下。
<script>
const PI;//报错,常量PI未赋值
</script>在上述代码中,第2行使用const声明了常量PI,但未为其赋值,因此程序运行时会报错。
3.const关键字声明常量并赋值后常量的值不能修改
使用const声明常量后,常量对应的内存地址不可更改,具体应用场景如下。
(1)对于基本数据类型(如数值、字符串),一旦赋值,其值便不可修改,示例代码如下。
<script>
const PI = 3.14;
PI=100://报错,无法对常量赋值
</script>上述代码中,第2行代码使用const关键字声明了一个常量PI.并给常量赋值为3.14。然后执行下一条语句,重新给PI赋值为l00时,程序在运行时会报错。
(2)对于复杂数据类型(如数组、对象),虽然不能重新赋值,但可以修改其内部值,示例代码如下。
<script>
const ary = [100,0200];
ary[0] = 'a';
ary[1] = 'b';
console.log(ary);//可以更改数组内部的值,结果为['a','b']
ary=['a','b'];//报错,无法对常量赋值
</script>在上述代码中,第2行使用const声明了数组ary,其中包含两个值100和200。随后在第3行和第4行代码中,通过数组下标找到对应值并修改,此时修改成功,因为该操作并未改变ary数组在内存中的存储地址。但在第6行代码中,尝试给ary常量重新赋值为一个新数组,这是不被允许的,因为此操作改变了ary常量在内存中的存储地址,所以输出结果会报错。
到此这篇关于JS const关键字生成常量有哪些特点的文章就介绍到这了,更多相关js const关键字生成常量内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
