javascript - es6 class pass this to a static class functions -
i have class
import { objectutilities } '~/utils/'; class object{ constructor(object) { object.assign(this, { ...object }); } utils = objectutilities; }
and class statis method (class contains many static methods)
class objectutilities { static getkey(object){ return object.key; } }
and want know if possible share "this" object class static method "getkey(object)"
want as:
let x = new object(object); x.utils.getkey(this);
(objectutilities many static funcs dont want each of them)
thanks helping me out...
you can add constructor
objectutilities
class bind given context getkey
function:
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());
Comments
Post a Comment