Operator typeof
Operator typeof pozwala określić
typ parametru (liczba, ciąg znaków, obiekt). Operator
zwraca ciąg znaków, zawierający typ ('number',
'string', 'object').
Dla null
operator zwraca 'object' (jest to
uznany błąd języka). Dla funkcji operator
zwraca 'function'. Jest to zrobione
dla wygody, ponieważ typu 'function'
nie istnieje.
Składnia
Operator typeof ma 2 składnie
(obie składnie działają tak samo):
typeof parametr;
typeof(parametr);
Przykład
Spójrzmy, jak typeof działa z
liczbą:
typeof 1;
W wyniku wykonanego kodu
otrzymamy wartość number:
'number'
Przykład
Teraz podajmy w parametrze ciąg znaków:
typeof 'str';
Wynik wykonania kodu:
'string'
Przykład
Teraz wskażmy w parametrze wartość logiczną
true:
typeof true;
Wynik wykonania kodu:
'boolean'
Przykład
Spójrzmy jaki typ
ma wartość undefined:
typeof undefined;
Po wykonaniu kodu
otrzymamy również undefined:
'undefined'
Przykład
Teraz sprawdźmy typ pustego obiektu:
typeof {};
Wynik wykonania kodu:
'object'
Przykład
A teraz sprawdźmy typ pustej tablicy:
typeof [];
W wyniku również otrzymamy
'object':
'object'
Przykład
Sprawdźmy typ
wartości null:
typeof null;
W wyniku również otrzymamy
'object', co jest
uznanym błędem języka:
'object'
Przykład
Teraz określmy typ pustej funkcji:
typeof function() {};
Po wykonaniu kodu otrzymamy
'function',
pomimo że taki typ
nie istnieje. Ten ciąg znaków
jest potrzebny dla wygody użytkownika
przy określaniu funkcji:
'function'
Przykład
Napiszmy funkcję, która będzie wypisywać tylko liczby:
function printNumber(number) {
if (typeof number === 'number') {
console.log(number);
}
}
printNumber(2);
printNumber('str');
printNumber(3);