ES6-let和const命令
生活随笔
收集整理的這篇文章主要介紹了
ES6-let和const命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
let
1.ES6 新增了let命令,用來聲明變量。它的用法類似于var,但是所聲明的變量,只在let命令所在的代碼塊內有效。
2.不存在變量提升
var命令會發生”變量提升“現象,即變量可以在聲明之前使用,值為undefined。這種現象多多少少是有些奇怪的,按照一般的邏輯,變量應該在聲明語句之后才可以使用。
let命令改變了語法行為,它所聲明的變量一定要在聲明后使用,否則報錯。
3.暫時性死區
在代碼塊內,使用let命令聲明變量之前,該變量都是不可用的。這在語法上,稱為“暫時性死區”(temporal dead zone,簡稱 TDZ)。
4.不允許重復定義
cons
1.聲明一個只讀的常量。一旦聲明,常量的值就不能改變,而且必須立即初始化,不能留到以后賦值。
2.const的作用域與let命令相同:只在聲明所在的塊級作用域內有效。
3.?const命令聲明的常量也是不提升,同樣存在暫時性死區,只能在聲明的位置后面使用。
本質?
const實際上保證的,并不是變量的值不得改動,而是變量指向的那個內存地址不得改動。對于簡單類型的數據(數值、字符串、布爾值),值就保存在變量指向的那個內存地址,因此等同于常量。但對于復合類型的數據(主要是對象和數組),變量指向的內存地址,保存的只是一個指針,const只能保證這個指針是固定的,至于它指向的數據結構是不是可變的,就完全不能控制了。因此,將一個對象聲明為常量必須非常小心。
?
參考:http://es6.ruanyifeng.com/#docs/let
?
轉載于:https://www.cnblogs.com/dingxy/p/9070752.html
總結
以上是生活随笔為你收集整理的ES6-let和const命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ fstream用法
- 下一篇: CAS5.2x单点登录(一)——搭建ca