Typy danych JavaScript
Zmienne JavaScript mogą przechowywać różne typy danych: liczby, ciągi, obiekty i nie tylko:
let length = 16; // Number
let lastName = "Johnson"; // String
let x = {firstName:"John", lastName:"Doe"}; // Object
Pojęcie typów danych
W programowaniu ważnym pojęciem są typy danych.
Aby móc operować na zmiennych, ważne jest, aby wiedzieć coś o typie.
Bez typów danych komputer nie może bezpiecznie rozwiązać tego problemu:
let x = 16 + "Volvo";
Czy dodanie „Volvo” do szesnastu ma sens? Czy spowoduje to błąd, czy też wynik?
JavaScript potraktuje powyższy przykład jako:
let x = "16" + "Volvo";
Podczas dodawania liczby i ciągu, JavaScript potraktuje liczbę jako ciąg.
Przykład
let x = 16 + "Volvo";
Przykład
let x = "Volvo" + 16;
JavaScript ocenia wyrażenia od lewej do prawej. Różne sekwencje mogą dawać różne wyniki:
JavaScript:
let x = 16 + 4 + "Volvo";
Wynik:
20Volvo
JavaScript:
let x = "Volvo" + 16 + 4;
Wynik:
Volvo164
W pierwszym przykładzie JavaScript traktuje 16 i 4 jako liczby, dopóki nie osiągnie „Volvo”.
W drugim przykładzie, ponieważ pierwszy operand jest łańcuchem, wszystkie operandy są traktowane jako łańcuchy.
Typy JavaScript są dynamiczne
JavaScript ma typy dynamiczne. Oznacza to, że ta sama zmienna może być używana do przechowywania różnych typów danych:
Przykład
let x; // Now x is undefined
x = 5; // Now x is a Number
x = "John"; // Now x is a String
Ciągi JavaScript
Ciąg (lub ciąg tekstowy) to seria znaków, takich jak „Jan Kowalski”.
Ciągi znaków są pisane w cudzysłowie. Możesz użyć pojedynczych lub podwójnych cudzysłowów:
Przykład
let carName1 = "Volvo XC60"; // Using double quotes
let carName2 = 'Volvo XC60'; // Using single quotes
Możesz używać cudzysłowów wewnątrz ciągu, o ile nie pasują do cudzysłowów otaczających ciąg:
Przykład
let answer1 = "It's alright";
// Single quote inside double quotes
let answer2 = "He is called 'Johnny'";
// Single quotes inside double quotes
let answer3 = 'He is called "Johnny"';
// Double quotes inside single quotes
Więcej o ciągach dowiesz się w dalszej części tego samouczka.
Liczby JavaScript
JavaScript ma tylko jeden rodzaj liczb.
Liczby mogą być zapisywane z lub bez miejsc dziesiętnych:
Przykład
let x1 = 34.00; // Written with decimals
let x2 = 34; // Written without decimals
Liczby bardzo duże lub bardzo małe można zapisać w notacji naukowej (wykładniczej):
Przykład
let y = 123e5; // 12300000
let z = 123e-5; // 0.00123
Więcej o liczbach dowiesz się w dalszej części tego samouczka.
Wartości logiczne JavaScript
Wartości logiczne mogą mieć tylko dwie wartości: true
lub false
.
Przykład
let x = 5;
let y = 5;
let z = 6;
(x == y)
// Returns true
(x == z) // Returns
false
Wartości logiczne są często używane w testach warunkowych.
Więcej o testowaniu warunkowym dowiesz się w dalszej części tego samouczka.
Tablice JavaScript
Tablice JavaScript są pisane w nawiasach kwadratowych.
Pozycje tablicy są oddzielone przecinkami.
Poniższy kod deklaruje (tworzy) tablicę o nazwie cars
, zawierającą trzy elementy (nazwy samochodów):
Przykład
const cars = ["Saab", "Volvo", "BMW"];
Indeksy tablicy są liczone od zera, co oznacza, że pierwszy element to [0], drugi to [1] i tak dalej.
Więcej o tablicach dowiesz się w dalszej części tego samouczka.
Obiekty JavaScript
Obiekty JavaScript są pisane w nawiasach klamrowych {}
.
Właściwości obiektu są zapisywane jako pary nazwa:wartość, oddzielone przecinkami.
Przykład
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Obiekt (osoba) w powyższym przykładzie ma 4 właściwości: imię, nazwisko, wiek i kolor oczu.
Więcej o obiektach dowiesz się w dalszej części tego samouczka.
Rodzaj operatora
Możesz użyć typeof
operatora JavaScript, aby znaleźć typ zmiennej JavaScript.
Operator typeof
zwraca typ zmiennej lub wyrażenia:
Przykład
typeof "" // Returns
"string"
typeof "John" // Returns
"string"
typeof "John Doe" // Returns
"string"
Przykład
typeof 0 // Returns
"number"
typeof 314 // Returns
"number"
typeof 3.14 // Returns
"number"
typeof (3) // Returns
"number"
typeof (3 + 4) // Returns
"number"
Więcej o typeof dowiesz się w dalszej części tego samouczka.
Nieokreślony
W JavaScript zmienna bez wartości ma wartość undefined
. Typ to również undefined
.
Przykład
let car; // Value is undefined,
type is undefined
Każdą zmienną można opróżnić, ustawiając jej wartość na undefined
. Typ będzie również undefined
.
Przykład
car = undefined; // Value is undefined,
type is undefined
Puste wartości
Pusta wartość nie ma nic wspólnego z undefined
.
Pusty ciąg ma zarówno prawidłową wartość, jak i typ.
Przykład
let car = ""; //
The value is
"", the typeof is "string"