function Foo() {}
// this is used to simulate OOP's static method
Foo.baz = function () {
console.log('baz');
};
// this is used to simulate OOP's instance method
Foo.prototype.bar = function () {
console.log('bar');
};
console.log('fighter');
Foo.fighter = function () {
this.baz();
// this.bar(); // TypeError: this.bar is not a function
this.prototype.bar();
this.prototype.constructor.baz();
};
Foo.fighter();
console.log('warrior');
const great = new Foo();
great.warrior = function () {
this.bar();
// this.baz(); // TypeError: this.baz is not a function
this.constructor.baz();
this.constructor.prototype.bar();
};
great.warrior();
fighter
baz
bar
baz
warrior
bar
baz
bar
No comments:
Post a Comment