Оператор typeof

typeof - повертає текстову назву типу даних.

var s="текст"; var t=typeof s; //t=string

Приклади порівння typeof:

// тип 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);