JavaScript中const(javascript中constructor)
vue.js const 用法
(一)什么是const
1.const 声明一个常量,一旦声明之后就不能修改了
2.如果声明后在去修改的话就会报错
3.只声明不赋值也会报错
4.不能重复声明一个常量
5.注意:const 声明的对象中属性是可以修改的
参考资料:
JavaScript ES6中var,let,const分别什么时候使用
var——声明变量
let——声明块中的变量
const——声明常量(一旦赋值不可更改)
function?varTest()?{
??var?x?=?1;
??if?(true)?{
????var?x?=?2;??//?same?variable!
????console.log(x);??//?2
??}
??console.log(x);??//?2
}
function?letTest()?{
??let?x?=?1;
??if?(true)?{
????let?x?=?2;??//?different?variable
????console.log(x);??//?2
??}
??console.log(x);??//?1
}
参考资料:
JS中的const命令你真懂它吗?
我们都知道const一般声明一个只读的常量,声明之后就不能修改了,并且声明时必须初始化
那大家有没有遇到这样的情况
奇怪,上面的例子明明改变了变量的值,为什么没有报错?
下面我们就探究一下const的本质
其实const保证的并不是变量的值不动,而是变量指向的内存地址不得改动
可能有点抽象,我们来细细分析一下const声明的全过程
js会将存储‘word’字符串的地址赋给message,而message又是用const定义的变量,不可以改变变量里存储的内存地址,这时就会?报错
而当遇到下面这种情况
则可以理解为
dog中存储的是对象的房间号(内存地址)
dog.name= 'wangcai',在给对象添加属性的过程,并没有改变这个地址,所以结果正常显示
const保证的并不是变量的值不动,而是变量指向的内存地址不得改动
好啦,以上就是我本次分享的全部内容啦,如果你觉得我的文章对你有一丢丢帮助,那么请不要吝啬你的赞??哦,阿门~
js const 和 var 的区别
const的话,其作用域和let一样,都是块作用域的,并且呢,如果const变量是基本类型值,则值不可变,如果值为引用类型数据结构,那么其引用的变量不可变,当然啦,const初始化的时候必须要赋值。不允许变量提升,也就是说,先使用,再初始化,这个会报错,也不允许重定义。
var的话,其是函数作用域的,其值修改,允许变量提升,也允许多次重定义。
不过一般来说的话,假设在兼容允许的范围内,优先考虑let和const,因为其语法更规范,会使得我们的代码减少犯错的几率。
当然啦,如果想进一步了解其相关知识点,可以参考文章
Javascript基础之-var,let和const深入解析(一)
Javascript基础之-var,let和const深入解析(二)