IL Operatore di tipo JavaScript restituisce il tipo di dati di una variabile o espressione. È un operatore unario posto prima del suo operando e restituisce una stringa che indica il tipo di dati, come numero, stringa, booleano, oggetto, non definito, funzione o simbolo. Viene comunemente utilizzato per determinare dinamicamente il tipo di dati da elaborare, facilitando la logica condizionale e il controllo del tipo nei programmi JavaScript.
Sintassi:
typeof operand // OR typeof (operand)>
Tipi di dati primitivi
I tipi di dati primitivi in JavaScript sono tipi di dati di base che rappresentano valori singoli. Loro includono:
Tipo di dati | Descrizione |
---|---|
Numero | Rappresenta valori numerici come numeri interi e numeri a virgola mobile. |
Corda | Rappresenta dati testuali racchiusi tra virgolette singole () o virgolette doppie (). |
Booleano | Rappresenta valori veri o falsi. |
Non definito | Rappresenta una variabile che è stata dichiarata ma a cui non è stato assegnato un valore. |
Nullo | Rappresenta l'assenza intenzionale di qualsiasi valore dell'oggetto. |
Simbolo | Rappresenta un tipo di dati univoco e immutabile utilizzato come chiave della proprietà di un oggetto. |
BigInt | Rappresenta numeri interi di grandi dimensioni oltre il limite del tipo Number. |
Esempio 1: L'esempio seguente mostra i risultati dell'operatore typeof per i tipi di dati premitivi.
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'>
Produzione
number string boolean undefined object symbol bigint>
Esempio 2: Questo esempio utilizza '===' (operatore di confronto di uguaglianza rigorosa) che confronta il valore e il tipo entrambi e quindi restituisce vero o falso.
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');>
Spiegazione: Nel primo console.log(), js inizia la compilazione da sinistra a destra e prima calcola il tipo di 25 che è 'numero', quindi lo confronta con 'numero' e infine restituisce vero o falso di conseguenza.
Produzione
true true true true true true true>
Esempio 3: Questo esempio confronta il tipo di dati della funzione utilizzando l'operatore typeof.
javascript // function console.log(typeof function () { } === 'function'); //classes too are objects console.log(typeof class C { } === 'function'); console.log(typeof Math.sin === 'function');>
Produzione
true true true>