对象实例化后如何调用对象方法

class Client {
    constructor(client) {
        this.client = client;
    }
    join() {
        console.log(this.client.id);
    }
}

let client = new Client({id:123});


console.log(client);

一定要用client.client.join()吗?
有什么方式实现直接调用client.join()?

阅读 2.9k
3 个回答
  • 把join挂载到原型上
  • 所有实例都可以直接调用了
class Client {
    constructor(client) {
        this.client = client;
    }
}
Client.prototype.join = function () {
  console.log(this.client.id);
}
let client = new Client({id:123});
client.join();

可以仔细理一下这几个方法在es5和es6里面的区别

  • 原型方法
  • 实例方法
  • 静态方法

有毒啊?难道不是本来就能client.join()这么写吗?

本来就是 client.join()这么调用啊。

还有‘构造函数动点手脚’是什么意思?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题