Como aplicar programação funcional? (é uma pergunta mesmo, rs) - Javascript
Tenho estudado um pouco sobre paradigmas, mas estou tendo dificuldade em enteder sobre o paradigma da programação funcional (vou chamar de PF aqui)
Tenho usado (ou tentando usar) programação orientação a objetos (POO/OOP)
O problema é que não entendo muito bem o que efetivamente muda da POO para a PF.
Digamos que tenho um objeto chamado USER, que tem possui as funções : fLogin, fRegister e fLogout;
Dentro de cada função do objeto USER, eu possuo um sistema de funções para que a função final seja executada.
Suponhamos a função fLogin:
const user = {
fLogin(usernameInput:string passwordInput:string) {
const loginInputsValidationResult:boolean = fInputLoginValidator(usernameInput, passwordInput);
if(loginInputsValidationResult) {
return validationUserLoginOnDatabase(usernameInput, passwordInput);
}
else{
return false
}
}
fLogout(){
...
}
fRegister() {
...
}
}
Desta forma, quando eu quiser fazer um login, eu faço o seguinte:
{
user.fLogin(userName, password)
}
E outro detalhe, ao usar programação funcional, seria Ok ter funções encapsuladas em funções, ou teria que usar as funções de modo "procedural"?
No modelo acima, eu chamo a função fLogin, que possui internamente a função de validação dos dados (pra ver se o campo não é NULL) e a função de validação no banco de dados (pra ver se os dados estão como no Database mesmo).
Em programação funcional eu poderia manter este tipo de encapsulamento?
Como faria esse login acima com programação funcional?
ps: as