ES6學習筆記

  1. var、let和const 有什麼區別 ?
    var 作用域爲該語句所在的函數內,存在變量提升。
    let 塊級作用域,該語句所在的代碼塊內,不存在變量提升,暫時性死區,相同作用域不允許重複聲明。
    const 使用聲明的常量(棧內存在的值和地址),值類型的不可以改,引用類型的可變,引用不可變要用Object.freeze()
    【基本類型】 Boolen, Number, String 是把直接值直接存在棧內。
    【引用類型】 Object(Function, Array ….)是把值存在對應的堆地址。
    【變量提升】函數聲明和變量聲明總是會被解釋器悄悄地被”提升”到方法體的最頂部。JavaScript 中,函數及變量的聲明都將被提升到函數的最頂部。
    JavaScript 中,變量可以在使用後聲明,也就是變量可以先使用再聲明。

  2. ES6聲明的方式?
    es5: var function
    es6: var function let const import class

  3. es5 普通函數和箭頭函數的區別
    普通函數:this指向調用它的那個對象,會自動綁定上各種變量。
    => 沒有自動綁定this arguments上的各種局部變量,箭頭函數中調用 this 時,僅僅沿着作用域鏈向上尋找,找到最近的一個 this 。箭頭函數作爲匿名函數,不能用new,箭頭函數沒有原型屬性。

發佈了57 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章