Reflect.get() 方法

admin發表於2019-05-09

關於Proxy更多內容可以參閱JavaScript Proxy和Reflect一章節。

此方法可以從物件獲取指定屬性值。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
Reflect.get(target, propertyKey[, receiver])

引數解析:

(1).target:必需,獲取屬性的目標物件。

(2).propertyKey:必需,屬性名稱。

(3).receiver:可選,如果指定屬性部署了getter訪問器,那麼此訪問器的this就會指向receiver。

特別說明:如果target不是一個物件,就會報錯。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var antzone = {
  webName: "螞蟻部落",
  url:"www.softwhy.com"
}
console.log(Reflect.get(antzone, "webName"));

上面的程式碼可以獲取webName屬性值。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var antzone = {
  webName: "螞蟻部落",
  url:"www.softwhy.com",
  get age() { return this._age; }
}
console.log(Reflect.get(antzone, "age", { _age: 4 }));

可以看到,如果是一個getter訪問器,此訪問器的this是指向第三個引數的。

相關文章