Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示基类属性的日志对象_Javascript_Google Chrome_Ecmascript 6_Console.log - Fatal编程技术网

Javascript 显示基类属性的日志对象

Javascript 显示基类属性的日志对象,javascript,google-chrome,ecmascript-6,console.log,Javascript,Google Chrome,Ecmascript 6,Console.log,使用ES6,我有以下类层次结构: 类应用程序>扩展超级组件>扩展反应组件 超级组件有一个名为页面的“静态”属性,定义如下: class SuperComponent extends React.Component { // constructor + various methods etc. } SuperComponent.PAGES = "someValue"; 当我使用console.log作为App的实例时,我会看到PAGES属性,就好像它是App本身的属性一样。如果我遵循\

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

类应用程序>扩展超级组件>扩展反应组件

超级组件
有一个名为
页面
的“静态”属性,定义如下:

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

SuperComponent.PAGES = "someValue";
当我使用
console.log
作为
App
的实例时,我会看到
PAGES
属性,就好像它是
App
本身的属性一样。如果我遵循
\uuu proto\uuu
层次结构,我发现
超级组件
不仅具有此属性,而且其父级
反应组件
也具有此属性。每个对象似乎都包含它

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

编辑

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

从外部
App
constructor记录:

App
constructor中登录:


这是因为构建
App
实例的临时过程吗?

您的理解是正确的。Javascript没有类。实际上,这是典型的遗传。这就是为什么您可以执行foo.toString()之类的操作,即使foo本身并不拥有toString。Chrome控制台显示所有属性如果app extends super extends react,并且您在super上定义了一个静态属性,我希望app和super都具有该属性,但不具有react。我无法复制您所描述的内容,也就是说,当您在“middle/Super”类上定义属性时,“child/App”有它(预期的),但也有“grandparent/React”?(意外,无法复制)@chiliNUT应用程序应该可以通过其原型访问该属性,但不包含该属性本身,因为它是super的“静态”属性。明天我会发布一个截图来澄清我所看到的内容。我们的理解是正确的。Javascript没有类。实际上,这是典型的遗传。这就是为什么您可以执行foo.toString()之类的操作,即使foo本身并不拥有toString。Chrome控制台显示所有属性如果app extends super extends react,并且您在super上定义了一个静态属性,我希望app和super都具有该属性,但不具有react。我无法复制您所描述的内容,也就是说,当您在“middle/Super”类上定义属性时,“child/App”有它(预期的),但也有“grandparent/React”?(意外,无法复制)@chiliNUT应用程序应该可以通过其原型访问该属性,但不包含该属性本身,因为它是super的“静态”属性。明天我将发布一个屏幕截图,以澄清我所看到的内容,并更新屏幕