Suppose we have a function that takes two numbers as a parameter and returns the sum of the squares of these numbers:
function func(num1, num2) {
return num1 * num1 + num2 * num2;
}
console.log(func(2, 3)); // shows 13 (the result of 2 * 2 + 3 * 3)
Let's take the squaring operation into
the auxiliary function square
:
function square(num) {
return num * num;
}
function func(num1, num2) {
return square(num1) + square(num2);
}
console.log(func(2, 3)); // shows 13
Let us be sure that the function square
will be used only in the function func
and not in any other.
In this case, it would be convenient to make sure that no one accidentally uses it (you yourself or another programmer working with you).
JavaScript has a neat solution: we can put
our helper function square
inside
func
. In this case, our helper function
will only be available inside func
and not outside.
Let's do it:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(func(2, 3)); // shows 13
Attempting to call square
outside
func
will result in an error:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(square(2)); //!! throws an error
Make the function func
that will
take two numbers as parameters and return
the sum of the square of the first number
with the cube of the second number. To do
this, make the helper function square
,
squaring the number, and the helper function
cube
, raising the number to the cube.