JavaScript面試題總結系列(九)

9. JavaScript - ES6+介紹

一、var let const 區別:

  • 使用 var 聲明的變量,可以變量提升;
  • 使用letconst聲明的變量,沒有變量提升;

二、 臨時死區(Temporal Dead Zone)

var不同,let和const聲明的變量不會被提升到作用域頂部。因此,如果在聲明之前訪問這些變量,就會引發錯誤。

例如:

if (condition) {
    console.log(typeof value); // 引用錯誤
    let value = "blue";
}

三、變量提升

  • 通俗的解釋是:將聲明變量的代碼移動到了頂部。
  • 詳細點的解釋是:在生成執行環境時,有兩個階段:創建階段和執行階段。創建階段,JS解釋器找到需要提升的變量和函數,給他們在內存中提前開闢好空間。如果是函數,將整個函數放入內存中;如果是變量,只聲明,賦值爲undefined。執行階段,可以直接提前使用。

四、 箭頭函數

請參考文章讀書筆記:深入理解ES6 (三),該章第8節。

五、 class

請參考文章讀書筆記:深入理解ES6 (九)

六、 es6整體理解

請參考深入理解ES6系列文章。


參考鏈接
http://blog.poetries.top/FE-Interview-Questions/base/#_86-%E8%B0%88%E8%B0%88%E5%8F%98%E9%87%8F%E6%8F%90%E5%8D%87%EF%BC%9F
https://blog.csdn.net/ZxxSteven/article/list/1?

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