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
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
By Using constructor
By Using name property of constructor - It dosen't work in IE
By Using typeof
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
Post a Comment