es6筆記一

letes6

  • 用於聲明變量,相似於var,可是所聲明的變量只在let命令所在的代碼塊內有效。
  • 不存在變量提高,變量必定要在聲明後才能使用命令。
  • 暫時性死區,若是區塊中存在let和const命令,這個區塊對這些命令聲明的變量,造成了封閉做用域
  • 不能在相同的做用域內,重複聲明同一個變量

塊級做用域函數

  • 外層做用域沒法讀取內層做用域的變量
  • 內層做用域能夠定義外層做用域的同名變量
  • es5規定函數只能在頂層做用域和函數做用域之中聲明,不能在塊級做用域中聲明
  • es6明確容許在塊級做用域中聲明函數
  • 函數聲明語句的行爲相似於let,在塊級做用域以外不可引用

const命令es5

  • const聲明一個只讀變量,常量的值不能改變
  • 一旦聲明,必須初始化,不然會報錯
  • const和let命令相同,只在聲明所在的塊級做用域內有效
  • 不存在變量提高,也存在暫時性死區,只能在聲明以後使用
  • 不能重複聲明

頂層對象的屬性spa

  • es5頂層對象的屬性與全局變量是等價的
  • var、function命令聲明的全局變量,依舊是頂層對象的屬性
  • let、const、class命令聲明的全局變量不屬於頂層對象的屬性

頂層對象對象

相關文章
相關標籤/搜索