El Operador de tipus JavaScript retorna el tipus de dades d'una variable o expressió. És un operador unari situat abans del seu operand i retorna una cadena que indica el tipus de dades, com ara nombre, cadena, booleà, objecte, sense definir, funció o símbol. S'utilitza habitualment per determinar de forma dinàmica el tipus de dades que s'estan processant, facilitant la lògica condicional i la verificació de tipus als programes JavaScript.
Sintaxi:
typeof operand // OR typeof (operand)>
Tipus de dades primitives
Els tipus de dades primitives en JavaScript són tipus de dades bàsics que representen valors únics. Inclouen:
Tipus de dades | Descripció |
---|---|
Número | Representa valors numèrics com nombres enters i nombres de coma flotant. |
Corda | Representa dades textuals entre cometes simples () o cometes dobles (). |
booleà | Representa valors vertaders o falsos. |
Sense definir | Representa una variable que s'ha declarat però no se li ha assignat un valor. |
Nul | Representa l'absència intencionada de qualsevol valor d'objecte. |
Símbol | Representa un tipus de dades únic i immutable utilitzat com a clau de la propietat d'un objecte. |
BigInt | Representa nombres enters grans més enllà del límit del tipus Número. |
Exemple 1: L'exemple següent mostra els resultats de l'operador typeof per als tipus de dades premitius.
no nul en jsJavascript
// 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'>
Sortida
number string boolean undefined object symbol bigint>
Exemple 2: Aquest exemple utilitza '===' (operador de comparació d'igualtat estricte) que comparen valors i escriuen tots dos i després retornen cert o fals.
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');>
Explicació: Al primer console.log(), el js comença a compilar d'esquerra a dreta i primer calcula el tipus de 25 que és 'número', i després el compara amb 'número' i finalment retorna cert o fals en conseqüència.
Sortida
true true true true true true true>
Exemple 3: Aquest exemple compara el tipus de dades de la funció utilitzant l'operador typeof.
javascript // function console.log(typeof function () { } === 'function'); //classes too are objects console.log(typeof class C { } === 'function'); console.log(typeof Math.sin === 'function');>
Sortida
true true true>