propotype和_proto_的区别,我这里为啥打出来都是undefined
来源:6-6 新的方法(新方法)
王文辉
2021-02-20 16:05:01
相关代码:
const obj8={name:'xiaoming'};
const obje={
say(){
console.log(`My name is ${super.name}`)
}
/* say:function(){ //报错
console.log(`My name is ${super.name}`)
} */
/* say:()=>{ //报错
console.log(`My name is ${super.name}`)
} */
}
Object.setPrototypeOf(obje,obj8)
console.log(obje)
console.log(obje.prototype) //输出undefined
console.log(obje._proto_) //输出undefined
obje.say()
1回答
好帮手慕夭夭
2021-02-20
同学你好,问题解答如下:
1、prototype是类的属性,对象上没有prototype属性,__proto__才是对象上的属性。例如之前学过的通过function创建一个构造函数(构造函数相当于一个类),构造函数才有prototype属性。而通过new实例化一个对象,这个实例对象才有__proto__属性。等后面会学到class类,同样class创建的类才有prototype属性。
2、同学的代码中,使用字面式创建的对象,对象只有__proto__属性。代码中把单词打错了,所以输出undefined。如下书写,注意是两个横杆。
祝学习愉快~
相似问题