ID: 2913 OOP - Podstawy Średnie

Źródło: Arkusze CKE

Co zostanie wyświetlone w konsoli po wykonaniu poniższego kodu?

console.log(typeof null);
console.log(typeof undefined);
console.log(typeof []);
console.log(typeof NaN);

Warianty odpowiedzi

  1. A

    object, undefined, array, number

  2. B

    object, undefined, object, number

  3. C

    null, undefined, array, number

  4. D

    null, undefined, object, NaN

Wyjaśnienie

To pytanie dotyka kilku znanych niuansów języka JavaScript.

Po pierwsze, typeof null zwraca object. Jest to znany błąd z pierwszych wersji JavaScriptu, który pozostał w języku ze względu na kompatybilność wsteczną.

Dla undefined sprawa jest prosta, wynik to undefined. Z kolei tablice w JavaScript są pod maską obiektami, dlatego dla [] otrzymujemy object.

Na koniec NaN, czyli Not-a-Number. Mimo że oznacza błąd operacji matematycznej, z punktu widzenia specyfikacji JS technicznie należy do typu liczbowego, stąd wynik number.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — OOP - Podstawy