簡體   English   中英

為什么 class 沒有吸氣劑鍵?

[英]Why doesn't the class have a getter key?

 class Class3 { get service() { return 'service' } } const class3Instance = new Class3() console.log(class3Instance.service) console.log(class3Instance) // clas3Instance had Semi transparent service var descriptor = Object.getOwnPropertyDescriptor(class3Instance, 'service') console.log(descriptor, "descriptor") // undefined

我預計class3Instance具有服務屬性,但它沒有。

就像直接在class中定義的任何方法一樣,它是原型上的屬性,而不是 object 本身的屬性。 檢查Class3.prototypeObject.getPrototypeOf(class3Instance)的描述符:

 class Class3 { get service() { return 'service' } } const class3Instance = new Class3() var descriptor = Object.getOwnPropertyDescriptor(Class3.prototype,'service') console.log(descriptor,"descriptor")

class3Instance object 沒有自己service屬性 - 當訪問class3Instance.service時,解釋器在class3Instance的內部原型上找到該屬性名稱,而不是在class3Instance本身上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM