Zmienne w JavaScript. Co wybrać? var, let czy const? I dlaczego const?

Zmienne w JavaScript

Niegdyś nie było sporu jak deklarować zmienne, był tylko var. Nadszedł jednak ES 6 i namieszał, ale dlaczego?

Var od początku stwarzał problemy, przede wszystkim dlatego że nie było rozróżnienia na wartość stałą i zmienną. Ale największą bolączką programistów był zasięg zmiennych var.

Przez to że var miał zasięg w obrębie całej funkcji, powodowało to bardzo dużą nieczytelność w kodzie oraz ból głowy podczas zastanawiania się skąd wzięła się ta zmienna? Między innymi dlatego z var nie korzystamy nigdy!

Więc co wybrać? let czy const?

W przypadku let i const zasięg zmiennych jest od klamry do klamry co rozwiązuje większość problemów, ale żeby odpowiednio wybrać, trzeba się zagłębić w przeznaczenie tych deklaracji. Słowo kluczowe let, pozwala nam stworzyć zmienną w której możemy zmieniać referencję a const przeciwnie. Const dodatkowo zabrania nam ponowne przypisanie zmiennych. Co za tym idzie, jeżeli chcemy zadeklarować typ prosty (string, boolean, number itd. ) który będziemy w przyszłości zmieniać powinniśmy użyć let. Jeżeli chcemy zaś stworzyć stałą użyjemy zwyczajnie const.

Co z typami referencyjnymi?

Tutaj zawsze korzystamy z const. Dlatego że zmiana wartości pola w obiekcie czy elementu tablicy nie zmieni nam referencji. Jest to jeden z najpopularniejszych błędów młodych programistów. Gdy tworzą tablicę lub obiekt, deklarują je za pomocą let, bo przecież chcą docelowo zmieniać wartości wewnątrz. Nic bardziej mylnego.

Słowo kluczowe const, jak wspomniałem wcześniej, służy nam do przypisania referencji, czyli wskazania nam w pamięci konkretnego “obiektu”. Nie możemy do const przypisać nowego “obiektu”, ale możemy go edytować, (dodawać/usuwać/edytować elementy tablic i obiektów).

Dlaczego najlepiej korzystać tylko z const

Odpowiedź jest prosta, łatwiej zapanować nad kodem. Gdy korzystamy z dużej ilość zmiennych zadeklarowanych za pomocą let, często musimy sprawdzać krok po kroku czy gdzieś przypadkiem nam się coś nie nadpisuje. Gdy używamy const, każde kolejne przypisanie jest nam określane jako błąd przez nasz kochany kompilator, co zostanie nam oznajmione pięknym czerwonym napisem.

Ktoś na pewno zapyta, “To jak mam w takim razie przypisać coś do zmiennej const, jak jeszcze nie wiem co tam ma być”.

Spis treści

Potrzebujesz oferty?

Porozmawiajmy!

__wf_zastrzeżone_dziedziczyć
Offtop
Offtop
Certyfikat ISO 9001 dla Qarbon IT
arrow icon
12.20.2024
1 min czytania
IT
IT
Agile: Co to znaczy?
arrow icon
12.16.2024
3 min czytania
Business
Business
Od czego zacząć cyfryzację firmy?
arrow icon
12.12.2024
3 min czytania
Offtop
Offtop
Infoshare Katowice 2024: Podsumowanie
arrow icon
12.3.2024
1 min czytania
Code
Code
Czym jest JSON?
arrow icon
10.29.2024
2 min czytania
Code
Code
Refaktoryzacja kodu – co to jest?
arrow icon
10.24.2024
4 min czytania
Business
Business
Wynajęcie czy zatrudnienie zespołu IT?
arrow icon
7.22.2024
3 min czytania
Business
Business
Jak cyfryzacja odmieniła firmę PPC System: Case Study
arrow icon
7.9.2024
2 min czytania
Business
Business
Ile kosztuje stworzenie aplikacji w 2024?
arrow icon
6.10.2024
3 min czytania
Technologies
Technologies
HTML - co to?
arrow icon
3.20.2024
2 min czytania
Technologies
Technologies
TypeScript? - co to?
arrow icon
3.20.2024
3 min czytania
Technologies
Technologies
PHP - co to?
arrow icon
3.19.2024
1 min czytania
Technologies
Technologies
Swift - co to?
arrow icon
3.18.2024
5 min czytania
Technologies
Technologies
Kotlin - co to?
arrow icon
3.16.2024
4 min czytania
Technologies
Technologies
Vue.js - co to?
arrow icon
3.15.2024
3 min czytania
Technologies
Technologies
JAVA - Co to?
arrow icon
3.14.2024
4 min czytania
Technologies
Technologies
React Native - co to?
arrow icon
3.13.2024
3 min czytania
Technologies
Technologies
React.js - co to?
arrow icon
3.13.2024
2 min czytania
Technologies
Technologies
JavaScript - co to?
arrow icon
3.13.2024
1 min czytania
Knowledge hub
Knowledge hub
Kim jest fullstack developer?
arrow icon
3.13.2024
1 min czytania
Knowledge hub
Knowledge hub
Co to jest frontend?
arrow icon
3.13.2024
2 min czytania
Knowledge hub
Knowledge hub
Co to jest backend?
arrow icon
3.13.2024
2 min czytania
Business
Business
Profesjonalna aplikacja dla firmy - 10 wskazówek
arrow icon
5.12.2023
7 min czytania
Business
Business
Doradztwo IT - korzyści dla Twojej firmy
arrow icon
3.21.2023
6 mi czytania
Code
Code
Czy MobX to dobra alternatywa dla Redux?
arrow icon
2.1.2023
3 min czytania
UX/UI
UX/UI
UX Design - przewodnik dla programistów
arrow icon
1.30.2023
4 min czytania
Code
Code
Rust to przyszłość Server Side
arrow icon
11.8.2022
1 min czytania
IT
IT
Jak stworzyć aplikację mobilną?
arrow icon
11.11.2022
5 min czytania
Code
Code
Dlaczego nie jestem fanem TypeScript
arrow icon
11.7.2022
3 min czytania
Code
Code
Podstawy React’a - stan i hook useState
arrow icon
1.26.2023
5 min czytania
Business
Business
Outsourcing IT- kompletny PRZEWODNIK!
arrow icon
11.28.2022
3 min czytania
Business
Business
W co inwestować pieniądze w 2021 roku?
arrow icon
11.21.2022
3 min czytania
Business
Business
Co to jest outsourcing pracowników IT i ILE kosztuje
arrow icon
11.14.2022
5 min czytania
Business
Business
Jak wybrać firmę programistyczną? Czym się kierować?
arrow icon
11.6.2022
7 min czytania
IT
IT
Co to jest outsourcing IT?
arrow icon
10.20.2022
4 min read
Business
Business
Najlepszy kraj do outsourcingu IT
arrow icon
12.12.2022
4 min czytania
Business
Business
Jak zmienić firmę programistyczną?
arrow icon
12.2.2022
4 min czytania
IT
IT
Jak testują programiści?
arrow icon
11.10.2022
2 min czytania
Startup
Startup
Startup - z jaką firmą IT współpracować?
arrow icon
12.20.2022
11 min czytania
Business
Business
Team Augmentation - Korzyści!
arrow icon
11.23.2022
9 min czytania
Business
Business
Praca w różnych strefach czasowych. Jak to działa?
arrow icon
11.18.2022
7 min czytania
Startup
Startup
Co to jest startup? (Nowoczesne Przedsiębiorstwo)
arrow icon
11.17.2022
6 min czytania