JavaScript 000: let vs. const vs. var
Wstęp
W języku JavaScript `let`, `const` i `var` to trzy słowa kluczowe używane do deklarowania zmiennych.
Te słowa kluczowe określają zakres i dostępność deklarowanych zmiennych.
— ` let `: To słowo kluczowe służy do deklarowania zmiennych o zasięgu blokowym. Oznacza to, że zadeklarowana zmienna ` let ` jest dostępna tylko w obrębie bloku, w którym została zadeklarowana.
— ` const `: To słowo kluczowe służy do deklarowania zmiennych, które są stałe, co oznacza, że ich wartości nie mogą być zmieniane po ich zadeklarowaniu. Podobnie jak ` let` , zmienne zadeklarowane w `const` również mają zasięg blokowy.
— ` var `: To słowo kluczowe służy do deklarowania zmiennych z zakresem funkcji. Oznacza to, że zmienna zadeklarowana przez ` var ` jest dostępna nie tylko w obrębie bloku, w którym została zadeklarowana, ale także w całej funkcji, w której została zadeklarowana.
Oto przykład ilustrujący różnice między tymi trzema słowami kluczowymi:
function myFunc() {
// using var
if (true) {
var x = 5;
console.log(x); // Output: 5
}
console.log(x); // Output: 5
// using let
if (true) {
let y = 5;
console.log(y); // Output: 5
}
console.log(y); // Output: ReferenceError: y is not defined
// using const
if (true) {
const z = 5;
console.log(z); // 5
}
console.log(z); // Output: ReferenceError: z is not defined
// attempting to change value of a const variable
z = 10; // Output: TypeError: Assignment to constant variable.
}
myFunc()
Zmienna ` y ` jest deklarowana za pomocą ` let ` wewnątrz bloku ` if ` i nie jest dostępna poza blokiem, ponieważ ma zasięg blokowy.
Zmienna ` z ` jest zadeklarowana z ` const ` wewnątrz bloku ` if ` i nie jest również dostępna poza blokiem, ponieważ ma zasięg blokowy.
Dodatkowo, ponieważ ` z ` jest zmienną stałą, jej wartości nie można zmienić po jej zadeklarowaniu.
Mam nadzieję, że podobało Ci się to wprowadzenie do zmiennych JavaScript!
Śledź mnie: LinkedIn , Twitter

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































