Mazingira ya Lugha ya Kazi katika JavaScript
Vigezo vyote vya nje, vinavyopatikana kwa kazi, vinaitwa mazingira yake ya lugha (LexicalEnvironment).
Katika mfano ufuatao kazi inaweza kufikia vigezo viwili:
num1 na num2, ambavyo
ndivyo mazingira ya lugha ya kazi yetu:
let num1 = 1;
let num2 = 2;
function func() {
// kazi inajua kuhusu vigezo num1 na num2
}
Mazingira ya lugha yenyewe yanawakilisha kitu kipya cha ndani cha JavaScript, kilichounganishwa kwa kazi yetu. Katika kesi hii inaweza kuwakilishwa kwa fomu ifuatayo:
{num1: 1, num2: 2}
Thamani ya kigezo chochote cha mazingira ya lugha daima ni sawa na thamani ya sasa ya kigezo hicho:
let num1 = 1; // mazingira {num1: 1}
let num2 = 2; // mazingira {num1: 1, num2: 2}
// Tubadilishe kigezo num1:
num1 = 123; // mazingira {num1: 123, num2: 2}
function func() {
}
Wakati tunapojaribu kufikia kigezo chochote ndani ya kazi, kigezo hicho hutafutwa kwanza miongoni mwa vigezo vya ndani vya kazi na, ikiwa hakuna kigezo kama hicho huko, basin hutafutwa katika mazingira ya lugha ya kazi.