Zajmuję się tworzeniem strony internetowej za pomocą stosu node.js/express i staram się rozwijać w funkcjonalnym stylu, który jest dla mnie całkiem nowy. Metoda ekspresowa res.send
wymaga, aby funkcja była wywoływana jako metoda, ponieważ odnosi się ona do ciała, ale metody wywoływania nie działają naturalnie w stylu funkcjonalnym.Metody enkapsulacji za Gettersami
Możesz umieścić metodę stojącą za funkcją gettera, która zamienia ją w funkcję, ale nie wiem, czy są jakieś minusy tego niż złożoność kodu?
Przykład:
(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);
})();
Czy tutaj swoje pytanie „Czy enkapsulacji funkcję w getter mają jakieś wady oprócz kodu złożoności?”? Jeśli tak, upewnij się, że jest to jasne. – rcdmk