Kurs JS #3 – Operatory i typy danych

Java Script

Loading

Kurs JS #3 – Operatory i typy danych to kolejny artykuł – z serii poświęconej JSowi. W niniejszym artykule poruszymy tytułowy temat operatory i typy danych. Operatory i typy danych, czyli kluczowe elementy umożliwiające manipulację danymi oraz wykonywanie obliczeń w języku JavaScript. Dzięki tej lekcji dowiesz się, jakie są podstawowe typy danych, jak operować na liczbach i tekstach oraz jakie operatory można wykorzystać do różnych operacji.

Typy danych w JavaScript

JavaScript obsługuje kilka podstawowych typów danych, które można podzielić na dwie główne kategorie: prymitywne i referencyjne.

Typy prymitywne

Prymitywne typy danych to takie, które przechowują pojedynczą wartość. W JavaScript wyróżniamy:

  • String – łańcuchy znaków (np. 'Hello, World!')
  • Number – liczby (np. 42, 3.14)
  • Boolean – wartości logiczne (true lub false)
  • Undefined – wartość niezdefiniowana
  • Null – wartość pusta
  • Symbol – unikalne wartości (wprowadzone w ES6)
  • BigInt – liczby całkowite o dowolnej wielkości (wprowadzone w ES11)

Przykłady użycia:

let tekst = "JavaScript";
let liczba = 2024;
let prawda = true;
let brakWartosci = null;
let niezdefiniowane;
let unikalnySymbol = Symbol("id");
let duzaLiczba = 12345678901234567890n;

Typy referencyjne

Typy referencyjne przechowują odniesienia do obiektów w pamięci. Są to:

  • Obiekty (np. { name: "Jan", age: 25 })
  • Tablice (np. [1, 2, 3])
  • Funkcje (np. function sayHello() { console.log("Cześć!"); })

Przykład:

let osoba = {
    imie: "Jan",
    wiek: 30
};

let liczby = [1, 2, 3, 4, 5];

function przywitaj() {
    console.log("Cześć!");
}

Operatory w JavaScript

Operatory arytmetyczne

Te operatory wykonują podstawowe operacje matematyczne:

let a = 10;
let b = 3;

console.log(a + b); // Dodawanie: 10 + 3 daje 13
console.log(a - b); // Odejmowanie: 10 - 3 daje 7
console.log(a * b); // Mnożenie: 10 * 3 daje 30
console.log(a / b); // Dzielenie: 10 / 3 daje około 3.33
console.log(a % b); // Reszta z dzielenia: 10 % 3 daje 1 (ponieważ 10 dzieli się na 3 trzy razy, reszta to 1)
console.log(a ** b); // Potęgowanie: 10 do potęgi 3 daje 1000

Operatory porównania

Służą do porównywania wartości:

console.log(5 == "5");  // true (sprawdza tylko wartość, ignorując typ)
console.log(5 === "5"); // false (sprawdza zarówno wartość, jak i typ, dlatego różne)
console.log(10 != 5);   // true (10 i 5 to różne wartości)
console.log(10 !== "10"); // true (różne typy, mimo takiej samej wartości)
console.log(7 > 3);    // true (7 jest większe niż 3)
console.log(7 >= 7);   // true (7 jest równe 7, więc warunek spełniony)
console.log(4 < 6);    // true (4 jest mniejsze niż 6)
console.log(4 <= 4);   // true (4 jest równe 4, więc warunek spełniony)

Operatory logiczne

Wykorzystuje się je do łączenia warunków:

let x = true;
let y = false;

console.log(x && y); // false (AND: oba muszą być true, tutaj jedno jest false)
console.log(x || y); // true (OR: wystarczy jedno true, a x jest true)
console.log(!x);     // false (NOT: negacja true daje false)

Operatory przypisania

Służą do przypisywania wartości do zmiennych:

let liczba = 10;
liczba += 5; // liczba = liczba + 5 (10 + 5 = 15)
liczba -= 3; // liczba = liczba - 3 (15 - 3 = 12)
liczba *= 2; // liczba = liczba * 2 (12 * 2 = 24)
liczba /= 4; // liczba = liczba / 4 (24 / 4 = 6)
liczba %= 2; // liczba = liczba % 2 (6 % 2 = 0, bo 6 dzieli się bez reszty)

Operator warunkowy (ternary)

Jest to skrócona forma instrukcji if-else:

let wiek = 20;
let status = (wiek >= 18) ? "Dorosły" : "Niepełnoletni";
console.log(status); // Ponieważ wiek wynosi 20, status to "Dorosły"

Podsumowanie

Artykuł Kurs JS #3 – Operatory i typy danych ma Was zachęcić do rozwoju w zakresie JavaScript. Zrozumienie różnych operatorów i typów danych jest kluczowe dla każdego programisty tego języka. Ich właściwe wykorzystanie pozwala na pisanie bardziej wydajnego, czytelnego i bezpiecznego kodu. Pamiętaj, że dobór operatorów zależy od kontekstu i celu, jaki chcesz osiągnąć. W nowoczesnym JavaScript znajomość tych narzędzi pozwoli Ci lepiej kontrolować przepływ programu i manipulować danymi w bardziej efektywny sposób.