[英]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.prototype
或Object.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.