Operator typeof w JavaScript do pobrania typu wartości

Operator typeof w JavaScript jest używany do określania typu danej zmiennej lub wyrażenia. Jest to przydatne narzędzie podczas debugowania lub gdy potrzebujemy podjąć decyzję w oparciu o typ danych. W tej lekcji przyjrzymy się, jak używać typeof oraz jakie są jego ograniczenia.

Jak używać typeof

Aby użyć typeof, po prostu umieść słowo typeof przed zmienną lub wyrażeniem, którego typ chcesz sprawdzić. Operator ten zwróci string opisujący typ danych.

console.log(typeof "Hello, World!"); // "string"
console.log(typeof 42); // "number"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" - to znany błąd w JavaScript
console.log(typeof {}); // "object"
console.log(typeof []); // "object" - tablice są traktowane jako typ obiektów
console.log(typeof function(){}); // "function"

Uwagi dotyczące użycia typeof

  • typeof null zwraca "object", co jest historycznym błędem w JavaScript. Mimo że null nie jest obiektem, poprawienie tego błędu mogłoby spowodować problemy z kompatybilnością w istniejącym kodzie wielu stron internetowych, dlatego nigdy nie będzie to zrobione
  • Tablice ([]) i daty są w praktyce obiektami, więc typeof zwróci "object" dla tych typów. Aby dokładniej określić, czy dany obiekt jest tablicą, używamy Array.isArray().

Przykład użycia typeof w warunkach

Operator typeof może być przydatny w instrukcjach warunkowych, gdy chcemy wykonać różne akcje w zależności od typu danych.

let item = "Hello, World!";

if (typeof item === "string") {
    console.log("Item jest stringiem.");
} else if (typeof item === "number") {
    console.log("Item jest liczbą.");
} else {
    console.log("Item jest innego typu.");
}

Ograniczenia typeof

Chociaż typeof jest użytecznym narzędziem, ma swoje ograniczenia. Na przykład, nie jest w stanie rozróżnić pomiędzy różnymi typami obiektów (poza funkcjami), takimi jak daty, tablice czy niestandardowe obiekty. Dla wszystkich tych, typeof zwróci po prostu"object".

Podsumowanie

Operator typeof jest prostym i przydatnym narzędziem do sprawdzania typów danych w JavaScript. Pozwala szybko zidentyfikować podstawowy typ zmiennej lub wyrażenia, co jest szczególnie przydatne podczas debugowania i tworzenia programów reagujących na typy wartości w zmiennych. Należy jednak pamiętać o jego ograniczeniach, zwłaszcza niezdolności do rozróżnienia pomiędzy różnymi rodzajami obiektów oraz błędnym zwracaniem "object" dla null.

Jeżeli chcesz przyśpieszyć swoją naukę chciałbym polecić mój kurs video JavaScript w którym nauczysz się tego języka od podstaw do zaawansowanych jego koncepcji.

 

Scroll to Top