Coincidência de nomes com parâmetros em JavaScript
Os parâmetros de função são variáveis locais dentro dela. Vamos nomear o parâmetro da função com o mesmo nome de uma variável global externa:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
Neste caso, acabaremos com uma situação em que
fora da função haverá uma variável num
e dentro da função haverá uma variável num.
Mas estas serão variáveis diferentes: alterar
a variável dentro da função levará
a uma alteração na variável local da
função. E a variável externa dentro
da função estará inacessível e não poderá ser
alterada de forma alguma. Vamos verificar:
function func(num) {
num = 2; // alteramos a variável local
}
let num = 1;
func(num);
console.log(num); // exibirá 1 - nada mudou
Determine, sem executar o código, o que será exibido no console:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Determine, sem executar o código, o que será exibido no console:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
Determine, sem executar o código, o que será exibido no console:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);