为什么类在javascript中第一次返回空的原型对象?

为什么类在javascript中第一次返回空的原型对象?,javascript,ecmascript-6,Javascript,Ecmascript 6,我在下面有一段代码,正如你看到的,当console.log第一次记录类的原型时,它返回空的,但是这个类的新对象实际上可以响应这些方法,然后我在原型中添加函数并成功地创建新对象,如何解释它 代码基 输出 你怎么解释呢 通过类语法创建的方法/属性是不可枚举的,并且您记录值的环境似乎不显示不可枚举的属性控制台。日志未标准化,因此不同环境中的输出必须不同 通过赋值创建属性始终会创建可枚举属性 类多边形{ 建造商(高度、宽度){ 高度=高度; 这个。宽度=宽度; } 获取区域(){ 把这个还给我。cal

我在下面有一段代码,正如你看到的,当console.log第一次记录类的原型时,它返回空的,但是这个类的新对象实际上可以响应这些方法,然后我在原型中添加函数并成功地创建新对象,如何解释它

代码基 输出 你怎么解释呢

通过
语法创建的方法/属性是不可枚举的,并且您记录值的环境似乎不显示不可枚举的属性<代码>控制台。日志未标准化,因此不同环境中的输出必须不同

通过赋值创建属性始终会创建可枚举属性

类多边形{
建造商(高度、宽度){
高度=高度;
这个。宽度=宽度;
}
获取区域(){
把这个还给我。calcArea()
}
钙质(){
返回this.height*this.width;
}
}
Polygon.prototype.test=函数(){return“test”}
//请注意“enumerable”的不同值`
log(Object.getOwnPropertyDescriptor(Polygon.prototype,'calcArea');

log(Object.getOwnPropertyDescriptor(Polygon.prototype,'test')您正在哪个浏览器中测试此功能?在Chrome的控制台中,我看到
Object{constructor:function,calcArea:function}
作为第一个日志条目。看到@apsillers,它看起来像是不同环境的console.log,谢谢你的帮助。谢谢,看起来类有原型,但控制台日志没有显示它,我的高级目标和问题是,如果您有兴趣,欢迎尝试解决它
class Polygon {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
  
  get area() {
    return this.calcArea()
  }

  calcArea() {
    return this.height * this.width;
  }
}

console.log(Polygon.prototype)

polygon = new Polygon(222,122)
console.log(polygon.area)
console.log(polygon.calcArea())

Polygon.prototype.test = function(){ return "test"}
console.log(Polygon.prototype)
console.log(polygon.test())
Polygon {}
27084
27084
Polygon { test: [Function] }
test