起个名怎么这么费劲 2022-06-08 11:10 采纳率: 50%
浏览 30

JS类中的字段挂载到了哪里

JS类中的字段挂载到了哪里

class Person {
  name = 'cinnamon'
  age = 20
  constructor() { this.gender = 0 }
  getInfo() {
    return {
      name: this.name,
      age: this.age,
      gender: this.gender
    }
  }
}
当我尝试从Person.prototype获取name, age, gender字段时,输出为undefined,而且当我通过控制台输出Person.prototype时,里面只有constructor和我定义的getInfo。当我new Person()得到实例时,字段却出现在了实例里。所以问题就在于类中的字段到底放在了哪里,如果不是prototype那其实例是怎么获取字段的。
  • 写回答

2条回答 默认 最新

  • 王鹏飞的解忧屋 2022-06-08 12:02
    关注
    
    class Person {
          constructor(name,age) { 
            this.gender = 0;
            this.name = name;
            this.age = age;
           }
          getInfo() {
            return {
              name: this.name,
              age: this.age,
              gender: this.gender
            }
          }
        }
    

    参考一下,如果帮助到你,请采纳

    评论

报告相同问题?

问题事件

  • 创建了问题 6月8日

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突