Variable and parameter names coincidence in JavaScript

Function parameters are local variables within it. Let's name the function parameter with the same name as the external global variable:

function func(num) { console.log(num); } let num = 1; func(num);

In this case, it will turn out that there will be the variable num outside the function and variable num inside the function. But these will be different variables: changing a variable inside a function will change the local variable of the function. And the external variable inside the function will be inaccessible and cannot be changed in any way. Let's check:

function func(num) { num = 2; // change local variable } let num = 1; func(num); console.log(num); // shows 1 - nothing has changed

Determine what will be output to the console without running the code:

function func(num) { num = 2; } let num = 1; func(num); console.log(num);

Determine what will be output to the console without running the code:

function func() { num = 2; } let num = 1; func(); console.log(num);

Determine what will be output to the console without running the code:

function func() { let num = 2; } let num = 1; func(); console.log(num);
enru