Enriquecendo sua solução
Algo importante na programação é a refatoração, o ato de reescrever código para deixá-lo conciso.
Exemplo
Retomando o exemplo anterior, poderíamos...
...fazer uso direto das funções no console:
console.log(soma(areaRet(6.1, 4.4), areaEli(3.0, 5.3)))
...fazer inicialização de parâmetros na definição da função:
function areaEli(x, y, pi=3.14) {
return pi * x * y
}
...e omitir o argumento \( \pi \) no uso:
console.log(soma(areaRet(6.1, 4.4), areaEli(3.0, 5.3)))
...ou incluir um novo valor de \( \pi \) no uso:
console.log(soma(areaRet(6.1, 4.4), areaEli(3.0, 3.14159265)))
E poderíamos compor o texto usando backticks (várias linguagens possuem ferramentas parecidas):
const textoRet = `retângulo de lados ${l1} e ${l2}`
const textoEli = `elipse de raios ${r1} e ${r2}`
const resultado = soma(areaRet(6.1, 4.40), areaEli(3.0, 5.3))
const textoArea = `A soma das áreas de um ${textoRet} e de uma ${textoEli} é igual a ${resultado}.`
console.log(textoArea)