Operatorul typeof

Operatorul typeof permite determinarea tipului parametrului (număr, șir de caractere, obiect). Operatorul returnează un șir de caractere, care conține tipul ('number', 'string', 'object').

Pentru null operatorul returnează 'object' (aceasta este o eroare recunoscută a limbajului). Pentru funcții operatorul returnează 'function'. Acest lucru este făcut pentru comoditate, deoarece tipul 'function' nu există.

Sintaxă

Operatorul typeof are 2 sintaxe (ambele sintaxe funcționează la fel):

javascripttypeof parametru;
typeof(parametru);

Exemplu

Să vedem cum funcționează typeof cu un număr:

javascripttypeof 1;

În urma executării codului vom obține valoarea number:

javascript'number'

Exemplu

Acum să setăm ca parametru un șir de caractere:

javascripttypeof 'str';

Rezultatul executării codului:

javascript'string'

Exemplu

Acum să specificăm ca parametru valoarea booleană true:

javascripttypeof true;

Rezultatul executării codului:

javascript'boolean'

Exemplu

Să vedem ce tip are valoarea undefined:

javascripttypeof undefined;

După executarea codului vom obține tot undefined:

javascript'undefined'

Exemplu

Acum să aflăm tipul unui obiect gol:

javascripttypeof {};

Rezultatul executării codului:

javascript'object'

Exemplu

Și acum să aflăm tipul unui array gol:

javascripttypeof [];

În rezultat vom obține tot 'object':

javascript'object'

Exemplu

Să aflăm tipul valorii null:

javascripttypeof null;

În rezultat vom obține tot 'object', ceea ce reprezintă o eroare recunoscută a limbajului:

javascript'object'

Exemplu

Acum să determinăm tipul unei funcții goale:

javascripttypeof function() {};

După executarea codului vom obține 'function', în pofida faptului că un astfel de tip nu există. Acest șir de caractere este necesar pentru comoditatea utilizatorului la determinarea unei funcții:

javascript'function'

Exemplu

Să scriem o funcție care va afișa doar numerele:

javascriptfunction printNumber(number) {
  if (typeof number === 'number') {
    console.log(number);
  }
}

printNumber(2);
printNumber('str');
printNumber(3);

Vezi și

  • funcția isNaN,
    care realizează verificarea pentru NaN
  • funcția isFinite,
    care verifică dacă un număr este finit