Sto sviluppando un sito Web utilizzando lo stack node.js/express e sto cercando di sviluppare lo stile funzionale che è abbastanza nuovo per me. Il metodo espresso res.send
richiede che la funzione venga chiamata come metodo poiché fa riferimento a this
nel corpo, ma i metodi di chiamata non funzionano in modo naturale nello stile funzionale.Metodi di incapsulamento dietro Getters
È possibile inserire il metodo dietro una funzione getter che lo trasforma in una funzione, ma non so se ci siano degli svantaggi rispetto a questa diversa dalla complessità del codice?
Esempio:
(function() {
"use strict";
function Foo() {
function bar() {
console.log(this.x);
}
return {
bar,
get baz() {
var s = this;
return() => s.bar();
}
}
}
var a = new Foo();
a.x = 5;
a.bar();
a.baz();
var b = a.bar;
var c = a.baz;
//b(); // throws an error because `this` is not defined
c();
function wrapper(f) {
f();
}
//wrapper(a.bar); // throws an error
wrapper(a.baz);
})();
è la tua domanda qui "non incapsulare una funzione in un getter sono aspetti negativi a parte la complessità del codice?"? Se è così, assicurati di dirlo chiaro, per favore. – rcdmk