can object define property to use own method?
litk this
obj = {
prt:function(){console.log("HELLO")}
prt0:obj.prt()
}
I want obj.prt0 -> "HELLO"
var obj = {
prt:function(){
console.log("HELLO")
return "HELLO";
},
prt0: function(){
this.prt()
}
}
obj.prt0; //do nothing, it is only a method
obj.prt0(); //execute method, will print Hello
If you want obj.prt0 to have the value of "HELLO", then you're going about it the right way - use this to make it easier, and make sure you return from the function. Also you need to define prt0 after the object is created:
let obj = {
prt: function() {
console.log("HELLO");
return "HELLO";
}
};
obj.prt0 = obj.prt();
console.log(obj.prt0);
The above does call obj.prt to create the value. If you want prt0 to be a reference to prt - so if you call prt0 it calls prt, you can just do this:
let obj = {
prt: function() {
console.log("HELLO");
return "HELLO";
}
};
obj.prt0 = obj.prt;
console.log(obj.prt0());
The above will also call console.log("HELLO") twice.