无法理解javascript中的类到函数映射
无法理解javascript中的类到函数映射,javascript,ecmascript-6,Javascript,Ecmascript 6,类父类{ 打印(){ log('嘿,我是家长'); } } 类子级扩展父级{ 构造函数(){ 超级(); } 打印(){ log(“嘿,我是孩子”); } } x=新的父项(); console.log(Object.getPrototypeOf(x)) x、 打印()是什么让你认为它是空的?它确实有构造函数和打印属性,但是它们不可枚举,默认情况下不会显示在控制台上。(当然,它确实有一个指向Object.prototype的[[prototype]]链接,但显示方式/是否显示也取决于您的控制台)
类父类{
打印(){
log('嘿,我是家长');
}
}
类子级扩展父级{
构造函数(){
超级();
}
打印(){
log(“嘿,我是孩子”);
}
}
x=新的父项();
console.log(Object.getPrototypeOf(x))
x、 打印()代码>是什么让你认为它是空的?它确实有构造函数
和打印
属性,但是它们不可枚举,默认情况下不会显示在控制台上。(当然,它确实有一个指向Object.prototype
的[[prototype]]链接,但显示方式/是否显示也取决于您的控制台)
要检查它们,请看一看。是什么让你认为它是空的?它确实有构造函数
和打印
属性,但是它们不可枚举,默认情况下不会显示在控制台上。(当然,它确实有一个指向Object.prototype
的[[prototype]]链接,但显示方式/是否显示也取决于您的控制台)
要检查它们,请查看。它在那里,只是不可枚举。试试这个:
Object.getOwnPropertyNames(Object.getPrototypeOf(x));
// ["constructor", "print"]
类父类{
打印(){
log('嘿,我是家长');
}
}
类子级扩展父级{
构造函数(){
超级();
}
打印(){
log(“嘿,我是孩子”);
}
}
x=新的父项();
log(Object.getOwnPropertyNames(Object.getPrototypeOf(x));
x、 打印()代码>它在那里,只是不可枚举。试试这个:
Object.getOwnPropertyNames(Object.getPrototypeOf(x));
// ["constructor", "print"]
类父类{
打印(){
log('嘿,我是家长');
}
}
类子级扩展父级{
构造函数(){
超级();
}
打印(){
log(“嘿,我是孩子”);
}
}
x=新的父项();
log(Object.getOwnPropertyNames(Object.getPrototypeOf(x));
x、 打印()代码>就是这种情况函数Parent(){}Parent.prototype.print=()=>{console.log('printing');}x=new Parent()console.log(Object.getPrototypeOf(x))代码>这将打印一个属性为“打印”的对象。我似乎无法理解为什么不是上面的情况是这种情况函数Parent(){}Parent.prototype.print=()=>{console.log('printing');}x=new Parent()console.log(Object.getPrototypeOf(x))代码>这将打印一个属性为“打印”的对象。我似乎不明白为什么不是上述情况