The Operator typu JavaScript zwraca typ danych zmiennej lub wyrażenia. Jest to operator jednoargumentowy umieszczony przed operandem i zwraca ciąg znaków wskazujący typ danych, taki jak liczba, ciąg znaków, wartość logiczna, obiekt, niezdefiniowany, funkcja lub symbol. Jest powszechnie używany do dynamicznego określania rodzaju przetwarzanych danych, ułatwiając logikę warunkową i sprawdzanie typów w programach JavaScript.
ciąg do znaku Java
Składnia:
typeof operand // OR typeof (operand)>
Pierwotne typy danych
Pierwotne typy danych w JavaScript to podstawowe typy danych, które reprezentują pojedyncze wartości. Zawierają:
Typ danych | Opis |
---|---|
Numer | Reprezentuje wartości liczbowe, takie jak liczby całkowite i liczby zmiennoprzecinkowe. |
Strunowy | Reprezentuje dane tekstowe ujęte w pojedyncze cudzysłowy () lub podwójne cudzysłowy (). |
Wartość logiczna | Reprezentuje wartości prawdziwe lub fałszywe. |
Nieokreślony | Reprezentuje zmienną, która została zadeklarowana, ale nie przypisano jej wartości. |
Zero | Reprezentuje zamierzony brak jakiejkolwiek wartości obiektu. |
Symbol | Reprezentuje unikalny i niezmienny typ danych używany jako klucz właściwości obiektu. |
BigInt | Reprezentuje duże liczby całkowite przekraczające limit typu Number. |
Przykład 1: Poniższy przykład pokazuje wyniki operatora typeof dla wstępnych typów danych.
JavaScript // Define variables with different primitive data types const num = 10; const str = 'Hello'; const bool = true; const undef = undefined; const nul = null; const sym = Symbol('symbol'); const bigInt = 9007199254740991n; // Use typeof operator to determine the data type console.log(typeof num); // Output: 'number' console.log(typeof str); // Output: 'string' console.log(typeof bool); // Output: 'boolean' console.log(typeof undef); // Output: 'undefined' console.log(typeof nul); // Output: 'object' (typeof null is an oddity, // it returns 'object') console.log(typeof sym); // Output: 'symbol' console.log(typeof bigInt);// Output: 'bigint'>
Wyjście
number string boolean undefined object symbol bigint>
Przykład 2: W tym przykładzie zastosowano operator „===” (operator ścisłego porównania równości), który porównuje wartości i wpisuje obie, a następnie zwraca wartość prawda lub fałsz.
czy klasa abstrakcyjna może mieć konstruktora?JavaScript
//Number console.log(typeof 25 === 'number'); console.log(typeof 3.14 === 'number'); console.log(typeof (69) === 'number'); // log base 10 console.log(typeof Math.LN10 === 'number'); console.log(typeof Infinity === 'number'); // Despite being 'Not-A-Number' console.log(typeof NaN === 'number'); // Wrapping in Number() function console.log(typeof Number('100') === 'number');>
Wyjaśnienie: W pierwszej konsoli.log() js rozpoczyna kompilację od lewej do prawej i najpierw oblicza typ 25, który jest „liczbą”, a następnie porównuje go z „liczbą” i na koniec zwraca odpowiednio wartość „prawda” lub „fałsz”.
Wyjście
true true true true true true true>
Przykład 3: Ten przykład porównuje typ danych funkcji przy użyciu operatora typeof.
JavaScript // function console.log(typeof function () { } === 'function'); //classes too are objects console.log(typeof class C { } === 'function'); console.log(typeof Math.sin === 'function');>
Wyjście
true true true>