Most of the function had to run by adding a parameter but in this case I just want to work like this:
let value = "test"; value.funcTest(); function funcTest(){ return "value replaced" + value; }
instead of
let value = "test"; value = funcTest(value); function funcTest(x){ return "value replaced" + x; }
is there a way to pull this off?
Advertisement
Answer
Given
let value = "test"; value.funcTest();
It’s only possible if you add a method to String.prototype
– which is a very bad idea and shouldn’t be used.
String.prototype.funcTest = function() { return "value replaced" + this; } let value = "test"; console.log(value.funcTest());
If you want to tie the string and a function together without using a function call of a separate identifier, a better approach would be to use an object instead, and put both in the object.
const obj = { value: "test", funcTest() { return "value replaced" + this.value; } } console.log(obj.funcTest());