Tässä opetusohjelmassa opit JavaScriptin let- ja var-eroista esimerkkien avulla.
JavaScriptissä molemmat avainsanat varja letniitä käytetään muuttujien ilmoittamiseen.
letAvainsana otettiin käyttöön uudempi versio JavaScript tunnetaan ES6 (ES2015) . Ja se on suositeltava tapa ilmoittaa muuttujat.
JavaScript antoi Vs var
Tässä on yleiskatsaus letja var.
| päästää | var |
|---|---|
| let on lohkottu. | var on funktion laajuus. |
| let ei salli muuttujien uudelleen ilmoittamista. | var sallii muuttujien ilmoittamisen uudelleen. |
| Nostamista ei tapahdu vuokralla. | Nostoa esiintyy var. |
JavaScripti antoi Vs: n variaatioksi Local Scope -sovelluksessa
var on funktion laajuus
Funktion sisällä ilmoitettua muuttujaa kanssa varvoidaan käyttää missä tahansa funktion sisällä. Esimerkiksi,
// program to print text // variable a cannot be used here function greet() ( // variable a can be used here var a = 'hello'; console.log(a); ) // variable a cannot be used here greet(); // hello
Yllä olevassa ohjelmassa muuttuja a ilmoitetaan var. Muuttujaa a voidaan käyttää missä tahansa funktion sisällä greet.
let on lohkottu
Muuttujalla, jolla on ilmoitettu, letpääsee vain koodilohkon sisällä. Esimerkiksi,
// program to print the text // variable a cannot be used here function greet() ( let a = 'hello'; // variable b cannot be used here if(a == 'hello')( // variable b can be used here let b = 'world'; console.log(a + ' ' + b); ) // variable b cannot be used here console.log(a + ' ' + b); // error ) // variable a cannot be used here greet();
Tuotos
hei maailma Uncaught ReferenceError: b ei ole määritelty
Yllä olevassa ohjelmassa muuttuja a ilmoitetaan funktion sisällä, ja sitä voidaan käyttää missä tahansa funktion sisällä (a tulee funktion laajuudeksi).
Muuttuja b kuitenkin ilmoitetaan lohkolausekkeen sisällä if. b on lohkottu ja siihen pääsee vain iflohkon sisällä .
Siksi, kun yrität käyttää b: tä iflohkon ulkopuolella , tapahtuu virhe (kuten ohjelmassa yllä on esitetty).
Huomautus : Muuttujat julisti sisällä toiminto on toiminto scoped molemmille varja let.
let ei salli muuttujien uudelleen ilmoittamista
1. Muuttuja, jolla on ilmoitettu, varvoidaan ilmoittaa uudelleen. Esimerkiksi,
var a = 5; // 5 var a = 3; // 3
Muuttujaa, jolla on ilmoitettu, letei voida ilmoittaa uudelleen samassa lohkossa tai samassa laajuudessa. Esimerkiksi,
let a = 5; let a = 3; // error
Tuotos
Uncaught SyntaxError: Tunniste 'a' on jo ilmoitettu
2. Muuttujan, jolla varon eri laajuus tai lohko, ilmoittaminen muuttaa myös ulomman muuttujan arvoa. Esimerkiksi,
var a = 5; console.log(a); // 5 ( var a = 3; console.log(a); // 3 ) console.log(a); // 3
Muuttujan, jolla leton eri laajuus tai lohko, uudelleen julistaminen käsittelee muuttujaa eri muuttujana. Ja muuttujan arvo ulkopuolella ei muutu. Esimerkiksi,
let a = 5; console.log(a); // 5 ( let a = 3; console.log(a); // 3 ) console.log(a); // 5
3. Kun varsilmukassa käytetään muuttujaa, jolla on ilmoitettu , muuttujan arvo muuttuu. Esimerkiksi,
var a = 2; for(var a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 3
Yllä olevassa ohjelmassa forsilmukka ilmoittaa uudelleen muuttujan a. Näin ollen arvo amuutetaan 3 lopussa.
Kun muuttuja julistettu kanssa let käytetään silmukka, arvo muuttuja ei muutu. Esimerkiksi,
let a = 2; for(let a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 2
In the above program, for loop treats variable a as a different variable than the one declared above. And the scope of that variable is only inside the for loop. Hence the value of variable a remains 2 at the end.
let Doesn't Allow Hoisting
The variables declared with var are hoisted to the top of the scope of the program. For example,
console.log(a); var a; // undefined (not an error)
The keyword let does not allow hoisting. For example,
console.log(a); let a; // Uncaught ReferenceError: a is not defined
If you want to learn more about hoisting, visit JavaScript Hoisting.
let and var Browser Support
Most of the modern browsers support the use of let. However, some browsers do not fully support let.
To learn more, visit JavaScript let browser support.
Huomautus : Jos maailmanlaajuisia, molemmat varja letkäyttäytyvät samalla tavalla. Esimerkiksi,
var a = 5; // 5
Muuttuja a on maailmanlaajuinen, ja sitä voidaan käyttää missä tahansa ohjelmassa.
let a = 5; // 5
Muuttuja a on maailmanlaajuinen, ja sitä voidaan käyttää missä tahansa ohjelmassa.








