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

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.

zmienne JavaScript

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ć”.

Content

Got a project?

Let's talk!

__wf_zastrzeżone_dziedziczyć
Technologies
Technologies
HTML - co to?
arrow icon
3.20.2024
2 min czytania
Technologies
What is HTML?
arrow icon
3.21.2024
2 min read
Technologies
Technologies
TypeScript? - co to?
arrow icon
3.20.2024
3 min czytania
Technologies
What is TypeScript?
arrow icon
3.20.2024
3 min read
Technologies
Technologies
PHP - co to?
arrow icon
3.19.2024
1 min czytania
Technologies
What is PHP?
arrow icon
3.19.2024
1 min read
Technologies
Technologies
Swift - co to?
arrow icon
3.18.2024
5 min czytania
Technologies
What is Swift?
arrow icon
3.18.2024
5 min read
Technologies
Technologies
Kotlin - co to?
arrow icon
3.16.2024
4 min czytania
Technologies
What is Kotlin?
arrow icon
3.16.2024
4 min read
Technologies
Technologies
Vue.js - co to?
arrow icon
3.15.2024
3 min czytania
Technologies
Technologies
What is Vue.js?
arrow icon
3.15.2024
3 min read
Technologies
Technologies
JAVA - Co to?
arrow icon
3.14.2024
4 min czytania
Technologies
What is JAVA?
arrow icon
3.13.2024
2 min read
Technologies
Technologies
React Native - co to?
arrow icon
3.13.2024
3 min czytania
Technologies
What is React Native?
arrow icon
3.13.2024
3 min read
Technologies
Technologies
React.js - co to?
arrow icon
3.13.2024
2 min czytania
Technologies
What is React.js?
arrow icon
3.13.2024
2 min read
Technologies
Node.js - co to?
arrow icon
3.13.2024
1 min czytania
Technologies
What is Node.js?
arrow icon
3.13.2024
1 min read
Technologies
Technologies
JavaScript - co to?
arrow icon
3.13.2024
1 min czytania
Technologies
What is JavaScript?
arrow icon
3.13.2024
1 min read
Knowledge hub
Knowledge hub
Kim jest fullstack developer?
arrow icon
3.13.2024
1 min czytania
Knowledge hub
What is a fullstack developer?
arrow icon
3.13.2024
1 min read
Knowledge hub
Knowledge hub
Co to jest frontend?
arrow icon
3.13.2024
2 min czytania
Knowledge hub
What is frontend?
arrow icon
3.13.2024
2 min read
Knowledge hub
Knowledge hub
Co to jest backend?
arrow icon
3.13.2024
2 min czytania
Knowledge hub
What is backend?
arrow icon
3.13.2024
2 min read
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
IT
How to get started in IT?
arrow icon
3.6.2023
7 min read
IT
WEB3 - What is it? Introduction
arrow icon
2.21.2023
4 min read
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
Podstawy React’a - stan i hook useState
arrow icon
1.26.2023
5 min czytania
Startup
Startup
Startup - z jaką firmą IT współpracować?
arrow icon
12.20.2022
11 min czytania
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
Business
Business
Outsourcing IT- kompletny PRZEWODNIK!
arrow icon
11.28.2022
3 min czytania
Business
Business
Team Augmentation - Korzyści!
arrow icon
11.23.2022
9 min czytania
Business
Business
W co inwestować pieniądze w 2021 roku?
arrow icon
11.21.2022
3 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
Business
Business
Co to jest outsourcing pracowników IT i ILE kosztuje
arrow icon
11.14.2022
5 min czytania
IT
IT
Jak stworzyć aplikację mobilną?
arrow icon
11.11.2022
5 min czytania