记录的对象,显示基类的属性

时间:2017-08-22 17:28:39

标签: javascript google-chrome ecmascript-6 console.log

使用ES6,我有以下类层次结构:

class App>扩展SuperComponent>扩展了React.Component

SuperComponent有一个'静态'名为PAGES的属性,定义如下:

class SuperComponent extends React.Component
{
    // constructor + various methods etc.
}

SuperComponent.PAGES = "someValue";

当我console.log App的实例时,我会看到PAGES属性,就好像它是App本身的属性一样。如果我遵循__proto__层次结构,我发现SuperComponent不仅具有此属性,还具有其父ReactComponent。每个对象似乎都包含它。

我的理解是该属性应该只存在于SuperComponent中,可以通过通常的原型查找从派生的App类访问。那么为什么它会显示在层次结构中的所有三个对象中?这是Chrome控制台输出的功能,还是我误解了什么?

编辑

当我从其构造函数中记录App类时,似乎会发生这种情况。将其记录在此之外会产生预期的输出。

App构造函数外部登录:https://s30.postimg.org/w3afaey0h/Main_Dir_Log.png

App构造函数中记录:https://s30.postimg.org/546kf9bjl/Constructor_Log.png

这是由于构建App的实例的临时过程吗?

0 个答案:

没有答案