老师看一下

来源:6-6 新的方法(新方法)

宝慕林4466778

2020-07-29 16:58:44

const obj = {name: 'xiaoming'};


const cObj = {

say() {

console.log(`My name is ${super.name}`);

}

}


Object.setPrototypeOf(cObj, obj);


const obj = {name: 'xiaoming'};


const cObj = {

say() {

console.log(`My name is ${this.name}`);

}

}

cObj.say.call(obj)

感觉很像啊 其实是改变指向?

super 就是指向原型吗?

还有个问题是 __proto__ 和prototype 的区别   以往的课好像提到过忘了

写回答

1回答

好帮手慕久久

2020-07-29

同学你好,问题解答如下:

1. 在当前例子中,setPrototypeOf方法和call方法,的确很像,可以理解成改变了this的指向。

2.在当前例子中,super是指向原型的。之前讲过静态方法,即static关键字定义的方法,在静态方法中,super指向父类。

3. “__proto__”是实例的属性,该属性指向构造函数的原型prototype;而prototype是构造函数的原型对象,二者关系如下:

http://img.mukewang.com/climg/5f2149c309702e8805540144.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

0

0 学习 · 10739 问题

查看课程

相似问题