gpt4 book ai didi

javascript - ECMAScript 6 子类打印 parent 姓名

转载 作者:行者123 更新时间:2023-11-28 15:14:34 24 4
gpt4 key购买 nike

当我执行 console.log(object) 时,我希望看到对象类的名称。因此,子类带有其父类的名称似乎相当意外。

"use strict";

class Parent {
constructor () {
}
}
class Child extends Parent {
constructor () {
super();
}
}
class Grandchild extends Child {
constructor () {
super();
}
}

var grandchild = new Grandchild();

console.log(grandchild); // Parent {}
console.log(grandchild.constructor.name); // Grandchild
console.log(grandchild instanceof Parent); // true
console.log(grandchild instanceof Child); // true
console.log(JSON.stringify(grandchild)); // {}

这是预期的行为吗?是 console.log 搞砸了,还是 JavaScript 认为任何后代类的实例首先是根级别类的实例?

最佳答案

console 不是标准的,如您所见 in its MDN entry 。在 ES6 中获取实例的类名的标准方法是使用 instance.contructor.name。这在 the spec 中有说明。 .

关于javascript - ECMAScript 6 子类打印 parent 姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34624094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com