Czy JavaScript ma typy danych jak np Java czy C++? Co to jest dynamiczne typowanie?

Początkujący programiści JavaScript szczególnie jeśli pracowali z innymi językami jak Java czy C++ mogą się zdziwić, że JS nie wymaga określenia typów zmiennych przy ich deklaracji. Powstaje zatem ważne pytanie:

Czy JavaScript posiada typy zmiennych?

JavaScript nie ma typów zmiennych jak np w Javie. JavaScript oczywiście rozróżnia prymitywy które są zapisane w zmiennych, czyli inaczej mówiąc ma typy wartości zapisane w zmiennych.

JavaScript to język o dynamicznym typowaniu

Oznacza to, że nie musisz deklarować typu zmiennej przed jej użyciem jak w innych językach, a typ wartości zmiennej może zmieniać się w trakcie działania programu. Jest to jedna z głównych różnic między JavaScript a językami statycznie typowanymi, takimi jak Java, gdzie typ każdej zmiennej musi być określony przy jej deklaracji i nie może się zmienić.

Popatrz na poniższy przykład, gdzie do tej samej zmiennej myVariable przypisywane są różne typy wartości, JavaScript na to pozwala, ale w Java byłoby to błędem.

let myVariable = 20; // myVariable jest typu Number czyli liczba
console.log(myVariable); // Wynik: 20

myVariable = "Witaj, świecie!"; // myVariable jest teraz typu String czyli łańcuch znaków
console.log(myVariable); // Wynik: "Witaj, świecie!"

myVariable = true; // myVariable jest teraz typu Boolean czyli wartość logiczna
console.log(myVariable); // Wynik: true

Takie zachowanie języka może się wydawać egzotyczne, ale tak został zaprojektowany.

Zalety dynamicznego typowania

  • Elastyczność: Dynamiczne typowanie pozwala na łatwe i szybkie pisanie programów, ponieważ programista nie musi martwić się o ścisłe określanie i zarządzanie typami danych.
  • Krótszy i czytelniejszy kod: Brak potrzeby deklarowania typów zmniejsza ilość wymaganego kodu, co może przyczynić się do jego większej czytelności.

Wady dynamicznego typowania

  • Możliwość występowania błędów w czasie wykonania: Zmienne mogą nieoczekiwanie zmieniać swoje typy jeżeli kod był źle napisany, co może prowadzić do trudnych do wykrycia błędów, jeśli programista nie będzie świadomy aktualnego typu zmiennej.
  • Konieczność dokładniejszego testowania: Programy napisane w językach dynamicznie typowanych mogą wymagać dokładniejszych testów, aby upewnić się, że wszystkie typy są prawidłowo obsługiwane.

Podsumowanie

Jest to jedna z pierwszych lekcji  która pokazuje jak szczególnym językiem jest JavaScript. Jeżeli wydaje się Tobie to dziwne to nie martw się, dopiero robi się ciekawie 🙂

Jeżeli chcesz przyśpieszyć swoją naukę chciałbym polecić mój kurs video JavaScript w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

 

 

 

 

Scroll to Top