JavaScript: Variable type or Object type

In any language it's important and useful to know object type you are dealing with. Here are few ways to identify the object type in java-script

var myVar = {};
var myArr = [0,1];
var myStr = "";
var myNum = 1;
var myFloat = 1.2;
var myBool = true;
var myRegx = /abc/;
var myClassObj = new function Neeraj(){};



This is widely use method to identify the object type
Some well known JS Lib. (ie. jquery, extjs etc.. ) use this technique
By Using Object.prototype.toString
Object.prototype.toString.apply(myVar); 	//ans: [object Object]
Object.prototype.toString.apply(myArr); 	//ans: [object Array]
Object.prototype.toString.apply(myStr); 	//ans: [object String]
Object.prototype.toString.apply(myNum); 	//ans: [object Number]
Object.prototype.toString.apply(myFloat); 	//ans: [object Number]
Object.prototype.toString.apply(myBool); 	//ans: [object Boolean]
Object.prototype.toString.apply(myRegx); 	//ans: [object RegExp]
Object.prototype.toString.apply(myClassObj);//ans: [object Object]



By Using constructor
myVar.constructor; 		//ans: Object()
myArr.constructor; 		//ans: [undefined]
myStr.constructor; 		//ans: String()
myNum.constructor; 		//ans: Number()
myFloat.constructor; 	//ans: Number()
myBool.constructor; 	//ans: Boolean()
myRegx.constructor; 	//ans: RegExp()
myClassObj.constructor; //ans: Neeraj()



By Using name property of constructor - It dosen't work in IE
myVar.constructor.name; 	//ans: Object
myArr.constructor.name; 	//ans: Array
myStr.constructor.name; 	//ans: String
myNum.constructor.name; 	//ans: Number
myFloat.constructor.name; 	//ans: Number
myBool.constructor.name; 	//ans: Boolean
myRegx.constructor.name; 	//ans: RegExp
myClassObj.constructor.name;//ans: Neeraj



By Using typeof

typeof myVar; 		//ans: object
typeof myArr; 		//ans: object
typeof myStr; 		//ans: string
typeof myNum; 		//ans: number
typeof myFloat; 	//ans: number
typeof myBool; 		//ans: boolean
typeof myRegx; 		//ans: function
typeof myClassObj; 	//ans: object


Comments

Popular posts from this blog

ERROR: Ignored call to 'alert()'. The document is sandboxed, and the 'allow-modals' keyword is not set.

CSS Specificity

Application Design Notes