CodeGym /Kursy /Frontend SELF PL /Zmienne i typy danych w JavaScript

Zmienne i typy danych w JavaScript

Frontend SELF PL
Poziom 33 , Lekcja 1
Dostępny

2.1 Zmienne w JavaScript

JavaScript to elastyczny i dynamiczny język programowania, który wspiera różne sposoby deklaracji zmiennych i pracy z typami danych. W tym wykładzie przyjrzymy się trzem kluczowym sposobom deklaracji zmiennych (var, let, const) oraz podstawowym typom danych w JavaScript.

Zmienne w JavaScript

JavaScript to język z dynamicznym typowaniem. Zmienne w nim nie mają z góry określonego typu. Każdej zmiennej można przypisać dowolną wartość w dowolnym momencie (ale są pewne detale).

Aby stworzyć zmienną, trzeba napisać coś w tym stylu:

    
      var name;
    
  

Zmienna może od razu mieć przypisaną wartość:

    
      var name = value;
    
  

Ale w rzeczywistości w JavaScript są aż trzy sposoby tworzenia zmiennych. Przyjrzyjmy się im teraz bliżej.

Operator var

Zmienne zadeklarowane za pomocą var mają funkcjonalny lub globalny zasięg. Podlegają mechanizmowi "hoisting", co oznacza, że ich deklaracja jest przenoszona na początek swojego zasięgu podczas wykonywania kodu.

Przykład:

JavaScript
    
      console.log(x); // undefined
      var x = 10;
      console.log(x); // 10
    
  

W tym przykładzie zmienna x jest przenoszona na początek swojego zasięgu, dlatego pierwszy console.log wyświetla undefined.

Innymi słowy, "hoisting" zamienia nasz kod na ten:

JavaScript
    
      var x;
      console.log(x); // undefined
      x = 10;
      console.log(x); // 10
    
  

Operator let

Programistom bardzo zależało na zmianie zachowania operatora var, ale bali się złamać miliony już napisanych linii kodu. Dlatego wymyślili kolejny operator, który również tworzy zmienne, ale z nieco innym zachowaniem.

Zmienne zadeklarowane za pomocą let mają zasięg blokowy. Oznacza to, że są dostępne tylko w obrębie bloku kodu (zwykle w nawiasach klamrowych {}), w którym zostały zadeklarowane. let nie podlega "hoistingowi" w taki sam sposób jak var.

Przykład:

Zmienna y istnieje tylko w ramach bloku if.

JavaScript
    
      if (true) {
        let y = 20;
        console.log(y); // 20
      }

      console.log(y); // ReferenceError: y is not defined
    
  

Operator const

Zmienne zadeklarowane za pomocą const również mają zasięg blokowy i nie mogą być ponownie przypisane po ich inicjalizacji. Jednakże to nie czyni obiektów zadeklarowanych przez const niezmiennymi — ich właściwości można zmieniać.

To znaczy, że zmiennej nie można zmienić, ale obiekt, na który się odnosi — można. Chcieli jak najlepiej, a wyszło jak zwykle.

Przykład:

W tym przykładzie konstanta x nie może być ponownie przypisana, ale obiekt obj może być zmieniany.

JavaScript
    
      const x = 30;
      console.log(x); // 30
      x = 40; // TypeError: Assignment to constant variable.

      const obj = { name: 'Alice' };
      obj.name = 'Bob'; // To jest dozwolone
      console.log(obj.name); // Bob
    
  

2.2 Primitives Typy danych

JavaScript obsługuje kilka prymitywnych typów danych, które reprezentują proste wartości, nie będące złożonymi obiektami.

Typ Number

Reprezentuje wszystkie numeryczne wartości, w tym liczby całkowite i liczby zmiennoprzecinkowe.

Przykłady:

JavaScript
    
      let num = 42;
      let pi = 3.14;
    
  

Typ String

Reprezentuje dane tekstowe: ciągi znaków, symbole, emoji. Wszystko, co wygląda na ciąg — to tutaj.

Przykłady:

JavaScript
    
      let greeting = "Hello, world!";
      let facepalm = "🤦";
      let char = 'x';
    
  

Typ Boolean

Reprezentuje wartości logiczne true lub false.

JavaScript
    
      let isTrue = true;
      let isFalse = false;
    
  

Typ Null

Reprezentuje zamierzone brak wartości.

JavaScript
    
      let empty = null;
    
  

Jeśli typ składa się z jednej wartości, która oznacza brak wartości, to może on jest bardziej unikalną wartością niż unikalnym typem?

Typ Undefined

Reprezentuje wartość zmiennej, która została zadeklarowana, ale nie zainicjalizowana.

JavaScript
    
      let notAssigned;
      console.log(notAssigned); // undefined
    
  

2.3 Porównanie var, let, i const

Na koniec porównajmy nasze trzy sposoby tworzenia zmiennych jeszcze raz:

Cecha var let const
Zasięg Funkcjonalny lub globalny Blokowy Blokowy
Hoisting Tak, ale inicjalizacja nie jest przenoszona Nie Nie
Ponowne przypisanie Tak Tak Nie
Inicjalizacja Opcjonalna Opcjonalna Wymagana

JavaScript oferuje kilka sposobów deklaracji zmiennych, z których każdy ma swoje cechy i zastosowanie w zależności od kontekstu. var jest rzadziej używane z powodu swoich cech związanych z "hoistingiem" i globalnym zasięgiem. let i const są preferowane w nowoczesnym JavaScript z powodu ich blokowego zasięgu i kontroli nad ponownym przypisaniem.

Prymitywne typy danych pozwalają na pracę z podstawowymi strukturami danych, zapewniając podstawową funkcjonalność, niezbędną do tworzenia złożonych aplikacji. I to jest najpopularniejszy język na świecie :)

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION