ES6新特性:const关键字详解

编程入门 行业动态 更新时间:2024-10-27 17:18:07

ES6新特性:const关键字<a href=https://www.elefans.com/category/jswz/34/1770044.html style=详解"/>

ES6新特性:const关键字详解

文章目录

    • 1 声明必需赋初值
    • 2 声明的变量不能被重新赋值
      • 2.1 一般情况
      • 2.2 如果变量是一个对象,可以修改对象的属性
      • 2.3 如果变量是一个数组,可以修改数组的元素
    • 3 声明的变量一般用大写
    • 4 块级作用域
    • 5 不允许重复声明

const是ES6中新增的一个关键字,用于声明一个只读的常量,一旦声明后就不能再被修改。有以下几个特点

1 声明必需赋初值

在使用const声明变量时,一定要在声明时就给变量初始化,否则编译会报错'const' declarations must be initialized.

2 声明的变量不能被重新赋值

2.1 一般情况

一般的,声明的变量不能被重新赋值,否则会报错。Uncaught TypeError: Assignment to constant variable.

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ES6新特性:const关键字</title>
</head><body><script>const PI = 3.14;PI = 3.1415;	//报错 </script>
</body></html>

2.2 如果变量是一个对象,可以修改对象的属性

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ES6新特性:const关键字</title>
</head><body><script>const obj = {name: 'Tom',age: 3}// 修改对象的属性值obj.age = 8;console.log('obj:', obj);</script>
</body></html>

控制台输出:


但是,如果试图给对象重新赋值,则会报错 Uncaught TypeError: Assignment to constant variable.

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ES6新特性:const关键字</title>
</head><body><script>const obj = {name: 'Tom',age: 3}// 试图给对象重新赋值,报错Uncaught TypeError: Assignment to constant variable.obj={name: 'Tom',age: 8}</script>
</body></html>

2.3 如果变量是一个数组,可以修改数组的元素

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ES6新特性:const关键字</title>
</head><body><script>const Arr = [1, 2, 3];Arr[0] = 99;console.log('Arr:', Arr);</script>
</body></html>

控制台输出:


但是,如果试图给数组重新赋值,则会报错 Uncaught TypeError: Assignment to constant variable.

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ES6新特性:const关键字</title>
</head><body><script>const Arr = [1, 2, 3];Arr = [99, 2, 3];   // 尝试给Arr重新赋值,报错:Uncaught TypeError: Assignment to constant variable.console.log('Arr:', Arr);</script>
</body></html>

3 声明的变量一般用大写

用小写并不会出错,只是习惯上,用大写表示常量。

const PI = 3.1415926;

4 块级作用域

let 关键字一样,const 关键字也具有块级作用域。

块级作用域是指变量只在定义它们的块内部可见。这意味着,使用 const 声明的变量只能在声明它的块级作用域内使用,而不会影响外部作用域。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ES6新特性:const关键字</title>
</head><body><script>{const PI = 3.14;console.log("块内部:", PI); //块内部: 3.14}console.log("块外部:", PI); //报错,PI is not defined</script>
</body></html>

5 不允许重复声明

使用 const 声明的变量不能被重复声明。


总结:声明对象类型的变量,使用 const,声明非对象类型 的变量使用 let

更多推荐

ES6新特性:const关键字详解

本文发布于:2023-12-03 08:42:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1653346.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:详解   新特性   关键字   const

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!