繁体   English   中英

使用.prototype 向 class 添加方法

[英]Adding a method to a class using .prototype

我试图定义一个名为“用户”的 class ......然后在代码中我试图通过写入“原型”来向 class 添加一个方法。 我不确定我的术语在这里是否正确......虽然我希望所有未来的“用户”实例都可以使用“who_auto”方法......

在 JSFiddle 中试用此代码...给了我错误消息:“未捕获的 TypeError:pp.who_auto 不是函数”

这是我的代码:

 class User { constructor(name) { this.name = name; this.chatroom = null; } who() { return `I am ${this.name}`; } } User.prototype = { who_auto: function() { console.log(` Hello, I am ${this.name} `); } } const pp = new User('peter parker'); console.log(pp); console.log(pp.who()); pp.who_auto();

您覆盖了原型,而不是向原型添加属性。 下面的代码有效。

 class User { constructor(name) { this.name = name; this.chatroom = null; } who() { return `I am ${this.name}`; } } User.prototype.who_auto = function() { console.log(`Hello, I am ${this.name}`); } const pp = new User('peter parker'); console.log(pp); console.log(pp.who()); pp.who_auto();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM