1、const关键字
2、什么时候使用const呢?
建议:在ES6开发中,优先使用const,只有需要改变某一个标识符的时候才使用let。
3、const的注意
(1) 一旦给const修饰的标识符被赋值之后,不能修改
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script>// 1.注意一: 一旦给const修饰的标识符被赋值之后,不能修改// const name = 'tian';// 会报错: Uncaught TypeError: Assignment to constant variable. // name = 'kim';</script>
</body>
</html>
执行可以在浏览器中看到报错:Uncaught TypeError: Assignment to constant variable.
报错原因是赋值给常量变量。
(2)在使用const定义标识符,必须进行赋值
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script>// 2.注意二: 在使用const定义标识符,必须进行赋值// var是可以这么写的// var name;// name = 'abc'// 会报错:Uncaught SyntaxError: Missing initializer in const declaration // const age;// age = 18;</script>
</body>
</html>
执行可以在浏览器中看到报错:Uncaught SyntaxError: Missing initializer in const declaration
报错原因是 const 声明中缺少初始值设定项。
(3)常量的含义是指向的对象不能修改,但是可以改变对象内部的属性
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script>// 3.注意三:常量的含义是指向的对象不能修改,但是可以改变对象内部的属性const obj = {name: 'kim tian',age: 18,weight: '45kg'}console.log(obj)// 改变的是内部属性,没有改内存地址obj.name = 'gay yang';obj.age = '30';obj.weight = '68kg'console.log(obj)// 这样就不可以了,因为改变的是内存地址// obj = {}</script>
</body>
</html>
从打印结果可以看到,obj里面的属性信息已经成功被改变了,因为内存里面保存的是一个内存地址,而不是一个变量。
但是当改变的是obj,而不是obj里面的属性时会报错。
本文发布于:2024-01-27 19:30:30,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063550282185.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |