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。如下书写,注意是两个横杆。

http://img.mukewang.com/climg/6030e07d091d94d805120077.jpg

祝学习愉快~

0

0 学习 · 10739 问题

查看课程