我有这个课程
import { ObjectUtilities } from '~/utils/';
class Object{
constructor(object) {
Object.assign(this, { ...object });
}
utils = ObjectUtilities;
}
这个类还带有statis方法(类包含许多静态方法)
class ObjectUtilities {
static getKey(object){
return object.key;
}
}
我想知道是否可以分享"这个"来自Object类 静态方法" getKey(对象)"
想要这样做:
let x = new Object(object);
x.utils.getkey(this);
(ObjectUtilities尽可能多的静态函数我不想为每个函数执行此操作)
感谢帮助我...
答案 0 :(得分:2)
您可以将constructor
添加到ObjectUtilities
类,将给定上下文绑定到getKey
函数:
class ObjectUtilities {
constructor(_this) {
this.getKey = this.getKey.bind(_this);
}
getKey() {
return this.key;
}
}
class MyObject {
constructor(object) {
Object.assign(this, { ...object });
this.utils = new ObjectUtilities(this);
}
}
const objectFoo = { key: 'foo' };
const objectBar = { key: 'bar' };
let x = new MyObject(objectFoo);
let y = new MyObject(objectBar);
console.log(x.utils.getKey(), y.utils.getKey());