美文网首页ES6学习笔记
ES6常量,在ES5中的写法

ES6常量,在ES5中的写法

作者: Chaos_YM | 来源:发表于2019-02-20 23:18 被阅读0次

    最近复习知识,在慕课看了ES6的课程。

    ES6中const常量的用法不难,有趣的是,在ES5中写一个常量的方法:

    解释:

    1,以上代码中,PI2是变量名,value是变量值;

    2,JS中,全局变量等同于window的属性(比如 var a=1; 与 window.a = 1来创建a变量并使其值为1是一样的),所以创建window的属性PI2,并设置了这个全局变量的值为3.1415926,使其不可写,只可读,于是全局变量aNumber就变成常量了。

    当然,这只是利用ES5创建一个不可修改的定值。

    与ES6中的常量的定义相差甚远,感觉慕课的哪个老师有点取巧;

    毕竟const定义的常量,存在块级作用域,暂时性死区,没有变量提升,不可重复声明等特性;

    而且,本质上,const定义的常量是保证了此变量指向的内存地址所保存的数据不变;

    当数据为简单类型时(数值,字符串,布尔值),等同于常量,和上面ES5效果相同;

    对于复合数据类型(对象,数组),const只是保证了指针的固定,此时数据结构还是可以改变的

    (若const a=[];   a.push()和a.xx = xx;是可执行的,a = [....]会报错,即所谓,地址不变,结构可变),

    除非使用object.freeze()方法。

    相关文章

      网友评论

        本文标题:ES6常量,在ES5中的写法

        本文链接:https://www.haomeiwen.com/subject/laohyqtx.html