Operatore typeof
L'operatore typeof permette di determinare
il tipo di un parametro (numero, stringa, oggetto). L'operatore
restituisce una stringa, contenente il tipo ('number',
'string', 'object').
Per null
l'operatore restituisce 'object' (questo è
un errore riconosciuto del linguaggio). Per le funzioni l'operatore
restituisce 'function'. Questo è stato fatto
per convenienza, poiché il tipo 'function'
non esiste.
Sintassi
L'operatore typeof ha 2 sintassi
(entrambe le sintassi funzionano allo stesso modo):
typeof parametro;
typeof(parametro);
Esempio
Vediamo come typeof lavora con
un numero:
typeof 1;
Come risultato dell'esecuzione del codice
otterremo il valore number:
'number'
Esempio
Ora passiamo una stringa come parametro:
typeof 'str';
Risultato dell'esecuzione del codice:
'string'
Esempio
Ora specifichiamo il valore booleano
true come parametro:
typeof true;
Risultato dell'esecuzione del codice:
'boolean'
Esempio
Vediamo che tipo ha
il valore undefined:
typeof undefined;
Dopo l'esecuzione del codice
otterremo anche undefined:
'undefined'
Esempio
Ora scopriamo il tipo di un oggetto vuoto:
typeof {};
Risultato dell'esecuzione del codice:
'object'
Esempio
E ora scopriamo il tipo di un array vuoto:
typeof [];
Come risultato otterremo anche
'object':
'object'
Esempio
Scopriamo il tipo
del valore null:
typeof null;
Come risultato otterremo anche
'object', il che è
un errore riconosciuto del linguaggio:
'object'
Esempio
Ora determiniamo il tipo di una funzione vuota:
typeof function() {};
Dopo l'esecuzione del codice otterremo
'function',
nonostante tale tipo
non esista. Questa stringa
è necessaria per convenienza dell'utente
nell'identificare una funzione:
'function'
Esempio
Scriviamo una funzione che stamperà solo numeri:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);