typeof în JavaScript

Variabile și tipuri Toate browserele, Node.js

Returnează tipul unei valori ca text: "string", "number", "boolean", "object" etc.

Sintaxă
typeof valoare

Ce face typeof

typeof îți spune ce fel de valoare conține o variabilă. Este util când o funcție poate primi tipuri diferite sau când verifici dacă o variabilă a fost definită.

Atenție la două ciudățenii vechi ale limbajului: typeof null este "object", iar pentru tablouri tot "object" primești. Pentru tablouri folosește Array.isArray().

Parametri

Parametru Descriere
valoare Orice valoare sau variabilă. Parantezele nu sunt necesare.

Ce returnează

Unul dintre textele: "string", "number", "bigint", "boolean", "undefined", "object", "function", "symbol".

Exemple

Exemplul 1: Tipurile de bază

console.log(typeof "salut");
console.log(typeof 42);
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof function () {});

Rezultat

string
number
boolean
undefined
function

Exemplul 2: Capcanele: null și tablourile

console.log(typeof null);
console.log(typeof [1, 2, 3]);
console.log(Array.isArray([1, 2, 3]));

Rezultat

object
object
true

Exemplul 3: O funcție care acceptă text sau număr

function formateazaPret(pret) {
  if (typeof pret === "string") {
    pret = parseFloat(pret);
  }
  return pret.toFixed(2) + " lei";
}

console.log(formateazaPret(19.5));
console.log(formateazaPret("7"));

Rezultat

19.50 lei
7.00 lei

Greșeli frecvente

  • Compari cu numele tipului fără ghilimele: typeof x === string. Corect: typeof x === "string".
  • Verifici un tablou cu typeof și primești "object". Folosește Array.isArray(x).

Comenzi înrudite

  • let / const: Declară variabile: let pentru valori care se schimbă, const pentru valori care rămân la fel.
  • parseInt / Number: Transformă un text în număr: parseInt pentru întregi, parseFloat pentru zecimale, Number pentru conversie strictă.
  • if / else: Rulează un bloc de cod doar dacă o condiție este adevărată.