ES6 let和var的區別是什麼?

1.首先大概說下什麼是ES6.

  以前開發多少都是ES5,其中它裏面包括很多特性,制定了許多語法規則。比如。解析規則,關鍵字,語法糖,閉包,繼承,原型等等

  而ES6簡單的講就是javaSeript的第6大版本,其中在ES5基礎上新加了許多新特性、比如:

  1.    箭頭函數 ()=>{}
  2.    字符串插值
  3.    代理
  4.    生成器
  5.    .....

其中let和const則是ES6一個代表、與ES5中的var區別很對多,廢話不多說,開講

let和var區別:

相同點: 作用都是定義變量關鍵字

區別點:

  •  作用域只限制於當前代碼塊{}   -----   var的作用域則是函數體function(){}
  •  使用let聲明變量的作用域不會提示  -----   而var會自動提升
  •  在相同的用作用域下不能有相同的變量,否則報錯  ------   而var中則可以出現相同變量名,且不會報錯。
  •  for循環提現父子作用域。

    比如以前ES5、在循環中找不到你的 i 值,則會上面找,這樣往往是不合邏輯的,解決辦法可以使用閉包完美解決    

    而ES6出現了let則不用閉包,他自帶有作用域的限制,這樣就能很好的滿足我們的邏輯了

let和const區別:

相同 :都是ES6新特性

  1. .作用定義變量關鍵字
  2. 作用域一樣
  3. 都不能重複聲明相同的變量

區別點:

  1. let是聲明普通變量  const是聲明常量
  2. let初始化可以不賦值。const初始化必須賦值
  3. let聲明的變量值可以被修改  const聲明的常量不能修改值。否則報錯(除對象。或者引用類以外)

 2、這三者各有各的的優點,在開發需要理解兩者區別,才能更好的簡單解決問題。運用他們。謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章