Тестирование Типа JavaScript
JavaScript предлагает способ тестирования тип переменной. Однако, результат может сбить с толку – например, тип массива - "Object".
Это - установившаяся практика, чтобы использовать оператор typeof
при попытке определения типа определенного значения.
Тестирование типа различных переменных:
var myFunction = function() {
console.log( "привет" );
};
var myObject = {
foo: "bar"
};
var myArray = [ "a", "b", "c" ];
var myString = "привет";
var myNumber = 3;
var myRegExp = /(\w+)\s(\w+)/;
typeof myFunction; // "function"
typeof myObject; // "object"
typeof myArray; // "object" -- Аккуратно!
typeof myString; // "string"
typeof myNumber; // "number"
typeof null; // "object" -- Аккуратно!
typeof undefined; // "undefined"
typeof meh; // "undefined" -- неопр. переменная
typeof myRegExp; // "function" или "object"
// в зависимости от среды.
if ( myArray.push && myArray.slice && myArray.join ) {
// возможно массив
}
if ( Object.prototype.toString.call( myArray ) ===
"[object Array]" ) {
// Определенно массив!
// Это считается наиболее надежным способом
// определения, что некоторое значение - Массив.
}
jQuery также имеет служебные методы, чтобы помочь определить тип произвольного значения.