logo

Typ operatora JavaScript

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 danychOpis
NumerReprezentuje wartości liczbowe, takie jak liczby całkowite i liczby zmiennoprzecinkowe.
StrunowyReprezentuje dane tekstowe ujęte w pojedyncze cudzysłowy () lub podwójne cudzysłowy ().
Wartość logicznaReprezentuje wartości prawdziwe lub fałszywe.
NieokreślonyReprezentuje zmienną, która została zadeklarowana, ale nie przypisano jej wartości.
ZeroReprezentuje zamierzony brak jakiejkolwiek wartości obiektu.
SymbolReprezentuje unikalny i niezmienny typ danych używany jako klucz właściwości obiektu.
BigIntReprezentuje 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>