La mayor parte de la función tenía que ejecutarse agregando un parámetro, pero en este caso solo quiero trabajar así:
let value = "test"; value.funcTest(); function funcTest(){ return "value replaced" + value; }en vez de
let value = "test"; value = funcTest(value); function funcTest(x){ return "value replaced" + x; }¿Hay alguna manera de lograr esto?
Dado
let value = "test"; value.funcTest(); Solo es posible si agrega un método a String.prototype , lo cual es una muy mala idea y no debe usarse.
String.prototype.funcTest = function() { return "value replaced" + this; } let value = "test"; console.log(value.funcTest());Si desea unir la cadena y una función sin usar una llamada de función de un identificador separado, un mejor enfoque sería usar un objeto en su lugar y colocar ambos en el objeto.
const obj = { value: "test", funcTest() { return "value replaced" + this.value; } } console.log(obj.funcTest());No estoy del todo seguro de lo que está tratando de hacer, pero tal vez usar un objeto funcionaría:
let variable = { value: 'test', funcTest: function() { return 'value is ' + this.value; } };Si no quiere tener que agregar los paréntesis, también puede usar un getter:
let variable= { value: 'test', get funcTest() { return 'value is ' + this.value; } }; De esta manera, podría simplemente llamar a variable.funcTest y haría lo mismo.