ES6之const命令
生活随笔
收集整理的這篇文章主要介紹了
ES6之const命令
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一直以來以ecma為核心的js始終沒有常量的概念,es6則彌補了這一個缺陷;
const foo='foo';foo='bar';//TypeError: Assignment to constant variable.?上例聲明了一個基本類型的常量,如過試圖修改初始值則會報錯;如果是引用類型的值同樣適用,但是有一點需要注意,舉例說明:
const foo=[]; foo=[1];//Assignment to constant variable.正常報錯,沒毛病,再看:
const foo=[1,2,3];foo[1]=4;console.log(foo)//[1, 4, 3]?這怎么沒報錯?而且還能修改成功? 這兩個例子不一樣的地方在于前者是修改了指針(需熟悉js 引用類型)對應(yīng)的內(nèi)容改變了,后者則不是指向依然沒變 但是指向?qū)ο蟮膬?nèi)容發(fā)生改變了,對于foo而言我只是一個指針負責(zé)指向?qū)?yīng)的對象 至于對象內(nèi)容是什么就不管我的事了所以可以修改;如果不想讓內(nèi)容也改變也行使用另一個方法;
const foo=Object.freeze([1,2,3]);foo[1]=4;console.log(foo)//[1, 2, 3]?這樣就不用擔心被修改了;
?
轉(zhuǎn)載于:https://www.cnblogs.com/yy-hh/p/5806958.html
總結(jié)
以上是生活随笔為你收集整理的ES6之const命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【知识导图】数据结构与算法
- 下一篇: c语言五大常用算法,C语言------五