typeof - повертає текстову назву типу даних.
typeof operand;
typeof (operand);
operand - об'єкт,змінна назву типу якого необхідно отримати.
typeof оператор який повертає рядок з назвою типу даних вказаного об'єкта.
var text='test';
var s= typeof text;
alert(s); //"string"
var n=10;
console.log( typeof n ); //number
// тип Numbers
typeof 16 === 'number'
typeof 3.2 === 'number'
typeof Math .PI=== 'number'
typeof Infinity === 'number'
typeof NaN === 'number'
typeof Number(33) === 'number'
// тип Strings
typeof "текст" === 'string'
typeof "" === 'string'
typeof (typeof 1) === 'string'
typeof String("Текст") ==="string"
// тип Booleans
typeof true === 'boolean'
typeof false === 'boolean'
typeof Boolean (true) ==="boolean"
// новий тип який підтримує лише нові бравзери Symbols
typeof Symbol() === 'symbol'
typeof Symbol( 'foo' ) === 'symbol'
typeof Symbol.iterator === 'symbol'
// Undefined
typeof undefined === 'undefined'
typeof declaredButUndefinedVariable === 'undefined'
typeof undeclaredVariable === 'undefined'
// Objects
typeof {a: 1} === 'object'
typeof [1, 2 , 4 ] === 'object'
typeof new Date() === 'object'
typeof new Boolean (true) === "object"
typeof new Number (1) ==="object"
typeof new String ("abc") ==="object"
typeof null ==="object"
// Functions
typeof function(){} ==="function"
typeof class C {} === "function"
typeof Math .cos === 'function'
Зверніть увагу що typeof null повертає object, це офіційно визнана помилка. А також String("text") і т.п. повертає string, а new String("text") і т.п. уже object.
Приклад функції яка видає повідомлення з назвою типом:
function tup(a){
switch(typeof(a)){
case "number": alert("тип number");break;
case "string": alert("тип string"); break;
case "undefined": alert("undefined");break;
case "boolean": alert("boolean"); break;
case "object": if(a===null)alert("null");else alert("object"); break;
case "function": alert("функція");break;
default: alert("невідовий тип: "+a);break;
}
}
//визиваємо функцію
tup(56.907);