Uma vez resolvido o problema principal, você pode realizar modificações em seu programa para que ele atenda a aoutras expectativas ou "caprichos" pessoais.
[EXEMPLO] Retomando o exemplo anterior, poderíamos...
...fazer aplicação/uso das funções diretamente no console:
console.log(fsoma(fareaRet(6.1,4.4),fareaEli(3.0,5.3)))
... fazer inicialização de parâmetros na definição da função...
function fareaEli(x, y, pi=3.14) { //const pi = 3.1415 return pi*x*y }
...e omitir o argumento pi na aplicação/uso...
console.log(fsoma(fareaRet(6.1,4.4),fareaEli(3.0,5.3)))
... OU incluir novo valor de pi na aplicação/uso:
console.log(fsoma(fareaRet(6.1,4.4),fareaEli(3.0,5.3,3.14159265)))
Finalmente, poderíamos compor texto para ajudar o usuário a entender a saída do programa:
const textoRet = `retângulo de lados ${l1} e ${l2}` const textoEli = `elipse de raios ${r1} e ${r2}` const textArea = `A soma das áreas de um ${textoRet} e de uma ${textoEli} é igual a ${resultado}.` console.log(textArea)