1.首先大概說下什麼是ES6.
以前開發多少都是ES5,其中它裏面包括很多特性,制定了許多語法規則。比如。解析規則,關鍵字,語法糖,閉包,繼承,原型等等
而ES6簡單的講就是javaSeript的第6大版本,其中在ES5基礎上新加了許多新特性、比如:
- 箭頭函數 ()=>{}
- 字符串插值
- 代理
- 生成器
- .....
其中let和const則是ES6一個代表、與ES5中的var區別很對多,廢話不多說,開講
let和var區別:
相同點: 作用都是定義變量關鍵字
區別點:
- 作用域只限制於當前代碼塊{} ----- var的作用域則是函數體function(){}
- 使用let聲明變量的作用域不會提示 ----- 而var會自動提升
- 在相同的用作用域下不能有相同的變量,否則報錯 ------ 而var中則可以出現相同變量名,且不會報錯。
- for循環提現父子作用域。
比如以前ES5、在循環中找不到你的 i 值,則會上面找,這樣往往是不合邏輯的,解決辦法可以使用閉包完美解決
而ES6出現了let則不用閉包,他自帶有作用域的限制,這樣就能很好的滿足我們的邏輯了
let和const區別:
相同 :都是ES6新特性
- .作用定義變量關鍵字
- 作用域一樣
- 都不能重複聲明相同的變量
區別點:
- let是聲明普通變量 const是聲明常量
- let初始化可以不賦值。const初始化必須賦值
- let聲明的變量值可以被修改 const聲明的常量不能修改值。否則報錯(除對象。或者引用類以外)
2、這三者各有各的的優點,在開發需要理解兩者區別,才能更好的簡單解決問題。運用他們。謝謝