ES6_入门(2)_const命令
生活随笔
收集整理的這篇文章主要介紹了
ES6_入门(2)_const命令
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.
1 //只讀常量,一旦聲明,常量的值就不能改變。 2 const PI=3.1415; 3 console.log(PI); 4 PI=6;//報錯:es6.html:186 Uncaught TypeError: Assignment to constant variable.在恒定的變量分配 5 6 const foo;//報錯:es6.html:190 Uncaught SyntaxError: Missing initializer in const declaration常量聲明中缺少初始化器。const一旦聲明變量,就必須立即初始化,不能留到以后賦值。?
2.
1 //const的作用域與let命令相同:只在聲明所在的塊級作用域內(nèi)有效。 2 //與let一樣,也存在暫時性死區(qū),只能在聲明語句后使用。 3 //與let一樣,不可重復(fù)聲明。 4 if(true){ 5 const MAX=99 6 console.log(MAX);//99 7 } 8 console.log(MAX);//es6.html:196 Uncaught ReferenceError: MAX is not defined?
3.
1 //const聲明常量的本質(zhì):const實際上保證的是變量指向的那個內(nèi)存地址不得改動。對于簡單類型的數(shù)據(jù)(數(shù)值 ,字符串,布爾值),值就保存在變量指向的那個內(nèi)存地址,因此等同于常量。 2 //對于復(fù)合型的數(shù)據(jù)(主要是對象和數(shù)組),變量指向的內(nèi)存地址,保存的只是一個指針,const只能保證這個指針是固定的,但是不能保證它指向的數(shù)據(jù)結(jié)構(gòu)是固定的。 3 const foo={}; 4 5 //為foo添加屬性,可以成功。 6 foo.prop=123; 7 console.log(foo.prop);//123 8 9 foo={};//報錯:es6.html:209 Uncaught TypeError: Assignment to constant variable. 10 11 12 13 const a=[]; 14 a.push('hello');//["hello"] 15 console.log(a); 16 a.length=0; 17 console.log(a.length);//0 18 console.log(a);//[] 19 a=["Dave"];//Uncaught TypeError: Assignment to constant variable. 20 21 //使用Object.freeze將對象凍結(jié), 22 const foo=Object.freeze({}); 23 // 常規(guī)模式時,下面一行不起作用; 24 // 嚴(yán)格模式時,該行會報錯 25 foo.prop=123;//報錯:Uncaught TypeError: Cannot add property prop, object is not extensible?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/LinSL/p/7159367.html
總結(jié)
以上是生活随笔為你收集整理的ES6_入门(2)_const命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DataSet导出Excel,比以往的方
- 下一篇: 内存不足导致mysql关闭,CentOS