前言
这篇会比较短小,因为仅仅讲一个变量声明嘛~
不过还是想要感慨一下下哦,js进化了,连const都出来了,嘻嘻。
const基本特性
const这个声明头之前在强类型语言(比如c和java)中见过,它是声明一个常量。
那么js中的const是什么样的呢?
1 | const a; |
运行试试,发现报错。
说明const在声明变量时这个变量必须有值
1 | const happy = true; |
报错了,说明这个值不能被改变,一改就报错。
const声明变量指向一个对象的时候要注意
看一下:
1 | let user = {name:"xiaowanzi"}; |
运行后发现没有报错,说明user的值可以改变。
或者你直接这样做:
1 | const user = {name: "xiaowanzi"}; |
你会发现也没毛病。
啥,可是咱刚刚不是说const都是常量吗。
是的,const声明的都是常量,不可更改,此处不可更改的,是对象的内存地址。
你要是这样:
1 | const user = {name:"xiaowanzi"}; |
分分钟报错给你看,因为此时user已经指向另一个内存地址了。
结语&&小贴士
作用域强调
const和let一样,都是块级作用域。
出了当前代码块找不到的哦!