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):
typeof parametru;
typeof(parametru);
Exemplu
Să vedem cum funcționează typeof cu
un număr:
typeof 1;
În urma executării codului
vom obține valoarea number:
'number'
Exemplu
Acum să setăm ca parametru un șir de caractere:
typeof 'str';
Rezultatul executării codului:
'string'
Exemplu
Acum să specificăm ca parametru valoarea booleană
true:
typeof true;
Rezultatul executării codului:
'boolean'
Exemplu
Să vedem ce tip are
valoarea undefined:
typeof undefined;
După executarea codului
vom obține tot undefined:
'undefined'
Exemplu
Acum să aflăm tipul unui obiect gol:
typeof {};
Rezultatul executării codului:
'object'
Exemplu
Și acum să aflăm tipul unui array gol:
typeof [];
În rezultat vom obține tot
'object':
'object'
Exemplu
Să aflăm tipul
valorii null:
typeof null;
În rezultat vom obține tot
'object', ceea ce reprezintă
o eroare recunoscută a limbajului:
'object'
Exemplu
Acum să determinăm tipul unei funcții goale:
typeof 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:
'function'
Exemplu
Să scriem o funcție care va afișa doar numerele:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);