es5與es6的區別

2021-10-08 09:19:06 字數 719 閱讀 6416

es5和es6對於前端開發來說是經常都會使用的方法,他們為我們開發提供了很多便利的方法和寫法,使我們的**更加的優雅,作為乙個新人就讓我簡單總結一下es5與es6的不同。

1. 變數

首先在變數方面es6為我們提供了let和const這兩種新的宣告方法,let和const的出現大大的避免了變數汙染的問題,因為在es6的語法中,let和const是區域性作用域變數宣告,應該說他們帶來了區域性作用域的概念,用let和const宣告的變數只會在宣告的作用域中起作用,切不可以重複宣告,這樣可以防止我們在宣告變數的時候會造成全域性變數汙染,也會防止我們宣告重複,導致乙個變數充當了兩個變數使用,並且const宣告的變數是唯讀型別的,意味著我們用const宣告的變數只可以作為常量使用,而且這兩個宣告方法還存在著暫時死區,在es6出來之前我們用var來宣告變數的時候會發生與解析即變數提公升不複製,雖然沒有值但是變數已經存在被定義了,但是const和let卻不會,他們宣告的變數不會提公升,在你宣告之前都不會被定義。

2. this指向

es6新增了箭頭函式,箭頭函式不會改變this的只想,這樣我們在呼叫方法或者執行函式的時候就可以不用擔心this指向,也不會為了快取this而去宣告that來執行方法了。

3. 模板字串,es6提供的模板字串可以極大為我們使用變數代替內容提供了便利,而es5 還沒有模板字串,所以很多混用都是通過『』+變數+『』這個模式完成的

4. es6還提供了解構賦值的功能,並且還支援預設值得使用為我們編寫提供了很多的便利

es6與es5的區別

es5只有兩種宣告變數的方法 var命令和function命令。es6除了新增let和const命令,後面章節還會提到,另外兩種宣告變數的方法 import命令和class命令。所以,es6一共有6種宣告變數的方法。頂層物件,在瀏覽器環境指的是window物件,在node指的是global物件。es...

ES5與ES6繼承的區別

2.es6的繼承機制完全不同,實質上是先建立父類的例項物件this 所以必須先呼叫父類的super 方法 然後再用子類的建構函式修改this。3.es5的繼承時通過原型或建構函式機制來實現。4.es6通過class關鍵字定義類,裡面有構造方法,類之間通過extends關鍵字實現繼承。子類必須在con...

ES6 與 ES5 繼承的區別

es6 中有類 class 的概念,類 class 的繼承是通過 extends 來實現的,es5 中是通過設定建構函式的 prototype 屬性,來實現繼承的,es6 與 es5 的繼承有什麼區別呢?下面通過 3 個 demo,來分析它們之間的區別。1.es5 繼承 直接上 function a...