JavaScript-de funksiýalarda deňişýän üýtgeýänleriň adynyň degişliligi

Funksiýanyň daşynda-da, içinde-de bolsa num üýtgeýäni bolsun. Bu ýagdaýda lokal num üýtgeýäni bilen haýsydyr bir üýtgetme global num üýtgeýänine hiç hili tesir etmeýär:

javascriptlet num = 1; // global üýtgeýän

function func() {
  let num = 2; // lokal üýtgeýän
  console.log(num);
}
func(); // funksiýa çagyrylýar, 2 çap ediler

console.log(num); // 1 çap ediler - global üýtgeýän üýtgedilmedi

Emma, lokal num üýtgeýänini let arkaly yglan etmegi ýadyňyzdan çykarsaňyz, onda funksiýanyň içinde lokal num üýtgeýäni döredilmeýär, diňe global üýtgeýän üýtgediler:

javascriptlet num = 1;

function func() {
  num = 2; // let ýazmagy ýadyňyzdan çykardyňyz - daşky üýtgeýäni üýtgedýäris
  console.log(num);
}
func(); // funksiýa çagyrylýar, 2 çap ediler

console.log(num); // 2 çap ediler - üýtgeýän üýtgedildi

Bu ýerde iki ýagdaý bolup bilýär: ýa-da biz hakykatdanam global üýtgeýäni üýtgetmek isledik (onda hemmesi gowy), ýa-da biz let ýazmagy ýadyňyzdan çykardyk we bäşdüşünje global üýtgeýäni üýtgetdik.

Ikinji ýagdaý skriptiň öň görülmeýän hereketine getirýän tapuňly kyn ýalňyşlykdyr. Şonuň üçin her gezek täze üýtgeýäni girizen wagtyňyzda ony let arkaly yglan ediň.

Задание 1

Kody işletmezden öň, konsolda näme çap ediljekdigini kesgitleň:

javascriptlet num = 1;

function func() {
  num = 2;
}
func();

console.log(num);
Задание 2

Kody işletmezden öň, konsolda näme çap ediljekdigini kesgitleň:

javascriptlet num = 1;

function func() {
  let num = 2;
}
func();

console.log(num);