Funkcja zagnieżdżona - dlaczego to tak działa?

0
const findRightResoult = (x, y, z) => {
    function division(a) {
        return Math.sqrt(a);
    }
    return division(x) + division(y) + division(z);
};
console.log(findRightResoult(49, 36, 25));

Dlaczego musiałem napisać javascript return Math.sqrt(a); , aby pokazało poprawny wynik, czyli 18? Bo jednak na początku bardziej zrozumiałe było dla mnie, aby zamiast tego a wpisać 2, co oznacza pierwiastek z 2, natomiast wynik nie był 18, tylko 4.2xxx.

2

Math.sqrt przyjmuje jako argument liczbę z której chcesz policzyć pierwiastek a nie stopień pierwiastka. Dlatego musi być 'a' a nie '2'

3

Btw wewnętrzna funkcja jest kompletnie zbędna w tym przypadku, wystarczy:

const findRightResult = (x, y, z) => {
  return Math.sqrt(x) + Math.sqrt(y) + Math.sqrt(z);
};
console.log(findRightResult(49, 36, 25));

1 użytkowników online, w tym zalogowanych: 0, gości: 1