ES6學習(頂層物件的屬性)

2021-10-11 21:09:33 字數 725 閱讀 1155

頂層物件,在瀏覽器環境指的是window物件,在 node 指的是global物件。es5 之中,頂層物件的屬性與全域性變數是等價的。

es5中:

global.a =1;

console.

log(a)

;// 1

a =2

;console.

log(global.a)

;// 2

es6 為了改變這一點,一方面規定,為了保持相容性,var命令和function命令宣告的全域性變數,依舊是頂層物件的屬性;另一方面規定,let命令、const命令、class命令宣告的全域性變數,不屬於頂層物件的屬性。也就是說,從 es6 開始,全域性變數將逐步與頂層物件的屬性脫鉤。

//2、

var a =1;

// 如果在 node 的 repl 環境,可以寫成 global.a;如果在 window 的 環境,可以寫成 window.a;

// 或者採用通用方法,寫成 this.a

console.

log(global.a)

;// undefined

let b =1;

console.

log(global.b)

;// undefined

上面**中,全域性變數a由var命令宣告,全域性變數b由let命令宣告,所以它不是頂層物件的屬性,返回undefined。

ES6學習 物件屬性的遍歷

es6一共有5種方法可以遍歷物件的屬性。1 for.in for.in迴圈遍歷物件自身的和繼承的可列舉屬性 不含symbol屬性 2 object.keys obj object.keys返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 3 object.getownp...

ES6頂層物件(window)和global物件

es5只有兩種宣告變數的方法 使用var命令和function命令。es6除了新增了let和const命令,還有import命令和class命令,所以一共有6種宣告變數的方法。一 頂層物件的屬性頂層物件在瀏覽器環境中指的是window物件,在node環境中指的是global物件。在es5中頂層物件的...

ES6 學習 Promise物件

1.promise含義 可以將promise物件看成是乙個容器,它儲存著未來才會結束的某個事件 一般是非同步操作事件 的結果,各 種非同步操作都可以用promise物件來處理 promise的特點 1 promise物件有三個狀態 pending 進行中 fulfilled 已成功 和rejecte...