Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: JavaScript

Słowa kluczowe: Boolean w JavaScript Deklaracja zmiennych w JavaScript Dynamiczne typowanie w JavaScript

W języku JavaScript deklaracja

var x;
bez przypisania wartości sprawia, że zmienna x ma typ
A. niezdefiniowany (undefined)
Dobrze. Zmienna bez przypisanej wartości ma wartość i typ undefined.
B. logiczny
Źle. Typ logiczny mają tylko true i false. undefined w warunku działa jak fałsz, ale nim nie jest.
C. numeryczny
Źle. JavaScript nie zakłada liczby. Bez przypisania zmienna ma wartość undefined.
D. łańcuch znaków
Źle. Napis powstaje dopiero po przypisaniu wartości w cudzysłowie. Pusta deklaracja daje undefined.

Zmienna zadeklarowana bez wartości dostaje w JavaScripcie specjalną wartość undefined, która ma osobny typ o tej samej nazwie. Można to sprawdzić operatorem typeof: typeof x zwróci napis "undefined". Typ zmiennej zmieni się dopiero po przypisaniu, bo JavaScript typuje dynamicznie, według aktualnej wartości.

To samo dotyczy let x;. Wartość undefined zwraca też funkcja bez instrukcji return i odwołanie do nieistniejącej właściwości obiektu. Nie myl jej z null, którą programista przypisuje celowo jako „brak wartości”. Sprawdzenie, czy zmienna ma wartość: if (x === undefined).

Po przypisaniu x = 5; ta sama zmienna ma już typ number.

Każdy z błędnych typów wymagałby przypisania konkretnej wartości. Łańcuch znaków powstaje dopiero przy zapisie w cudzysłowie, np. var x = "tekst";. Pusta deklaracja nie tworzy pustego napisu "".

Typ numeryczny dostaje zmienna z liczbą, np. var x = 0;. W niektórych językach, np. w C, zmienna liczbowa bez wartości ma przypadkową zawartość, a w Javie pole klasy dostaje 0, ale JavaScript nie zakłada liczby, bo deklaracja nie podaje żadnego typu.

Typ logiczny (boolean) mają tylko wartości true i false. Wartość undefined w warunku zachowuje się jak fałsz, ale typem logicznym nie jest. Dlatego zmienna bez przypisania ma typ undefined.

W JavaScripcie to wartość decyduje o typie, a nie słowo użyte przy deklaracji.

Typ zmiennej sprawdzisz w konsoli przeglądarki: po wpisaniu var x; typeof x zobaczysz napis undefined.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.