Last active
December 12, 2015 10:39
-
-
Save saitamanodoruji/4760801 to your computer and use it in GitHub Desktop.
check typeof and instanceof with String, Array, Function, Object, Number, Boolean, RegExp, undefined, null
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//// code //// | |
// typeof and instanceof | |
var typeof_and_instanceof = function(a) { | |
var mes = [] | |
mes.push('typeof(' + a[0] + ') : ' + (typeof(a[1]))) | |
mes.push(a[0] + ' instanceof String : ' + (a[1] instanceof String)) | |
mes.push(a[0] + ' instanceof Array : ' + (a[1] instanceof Array)) | |
mes.push(a[0] + ' instanceof Function : ' + (a[1] instanceof Function)) | |
mes.push(a[0] + ' instanceof Object : ' + (a[1] instanceof Object)) | |
mes.push(a[0] + ' instanceof Number: ' + (a[1] instanceof Number)) | |
mes.push(a[0] + ' instanceof Boolean: ' + (a[1] instanceof Boolean)) | |
mes.push(a[0] + ' instanceof RegExp: ' + (a[1] instanceof RegExp)) | |
mes.push('') | |
return mes | |
} | |
// String, Array, Function, Object, Number, Boolean, RegExp, undefined, null | |
var safonbrun = [ | |
['\'\'', ''], | |
['new String()', new String()], | |
['[]', []], | |
['new Array()', new Array()], | |
['function(){}', function(){}], | |
['new Function()', new Function()], | |
['{}', {}], | |
['new Object()', new Object()], | |
['0', 0], | |
['new Number()', new Number()], | |
['false', false], | |
['new Boolean()', new Boolean()], | |
['/^$/', /^$/], | |
['new RegExp()', new RegExp()], | |
['undefined', undefined], | |
['null', null] | |
] | |
console.log('\n' + safonbrun.reduce(function(pval, cval, ind, arr) { | |
var mes = pval | |
return mes.concat(typeof_and_instanceof(cval)) | |
}, []).join('\n')) | |
//// output //// | |
// typeof('') : string | |
// '' instanceof String : false | |
// '' instanceof Array : false | |
// '' instanceof Function : false | |
// '' instanceof Object : false | |
// '' instanceof Number: false | |
// '' instanceof Boolean: false | |
// '' instanceof RegExp: false | |
// | |
// typeof(new String()) : object | |
// new String() instanceof String : true | |
// new String() instanceof Array : false | |
// new String() instanceof Function : false | |
// new String() instanceof Object : true | |
// new String() instanceof Number: false | |
// new String() instanceof Boolean: false | |
// new String() instanceof RegExp: false | |
// | |
// typeof([]) : object | |
// [] instanceof String : false | |
// [] instanceof Array : true | |
// [] instanceof Function : false | |
// [] instanceof Object : true | |
// [] instanceof Number: false | |
// [] instanceof Boolean: false | |
// [] instanceof RegExp: false | |
// | |
// typeof(new Array()) : object | |
// new Array() instanceof String : false | |
// new Array() instanceof Array : true | |
// new Array() instanceof Function : false | |
// new Array() instanceof Object : true | |
// new Array() instanceof Number: false | |
// new Array() instanceof Boolean: false | |
// new Array() instanceof RegExp: false | |
// | |
// typeof(function(){}) : function | |
// function(){} instanceof String : false | |
// function(){} instanceof Array : false | |
// function(){} instanceof Function : true | |
// function(){} instanceof Object : true | |
// function(){} instanceof Number: false | |
// function(){} instanceof Boolean: false | |
// function(){} instanceof RegExp: false | |
// | |
// typeof(new Function()) : function | |
// new Function() instanceof String : false | |
// new Function() instanceof Array : false | |
// new Function() instanceof Function : true | |
// new Function() instanceof Object : true | |
// new Function() instanceof Number: false | |
// new Function() instanceof Boolean: false | |
// new Function() instanceof RegExp: false | |
// | |
// typeof({}) : object | |
// {} instanceof String : false | |
// {} instanceof Array : false | |
// {} instanceof Function : false | |
// {} instanceof Object : true | |
// {} instanceof Number: false | |
// {} instanceof Boolean: false | |
// {} instanceof RegExp: false | |
// | |
// typeof(new Object()) : object | |
// new Object() instanceof String : false | |
// new Object() instanceof Array : false | |
// new Object() instanceof Function : false | |
// new Object() instanceof Object : true | |
// new Object() instanceof Number: false | |
// new Object() instanceof Boolean: false | |
// new Object() instanceof RegExp: false | |
// | |
// typeof(0) : number | |
// 0 instanceof String : false | |
// 0 instanceof Array : false | |
// 0 instanceof Function : false | |
// 0 instanceof Object : false | |
// 0 instanceof Number: false | |
// 0 instanceof Boolean: false | |
// 0 instanceof RegExp: false | |
// | |
// typeof(new Number()) : object | |
// new Number() instanceof String : false | |
// new Number() instanceof Array : false | |
// new Number() instanceof Function : false | |
// new Number() instanceof Object : true | |
// new Number() instanceof Number: true | |
// new Number() instanceof Boolean: false | |
// new Number() instanceof RegExp: false | |
// | |
// typeof(false) : boolean | |
// false instanceof String : false | |
// false instanceof Array : false | |
// false instanceof Function : false | |
// false instanceof Object : false | |
// false instanceof Number: false | |
// false instanceof Boolean: false | |
// false instanceof RegExp: false | |
// | |
// typeof(new Boolean()) : object | |
// new Boolean() instanceof String : false | |
// new Boolean() instanceof Array : false | |
// new Boolean() instanceof Function : false | |
// new Boolean() instanceof Object : true | |
// new Boolean() instanceof Number: false | |
// new Boolean() instanceof Boolean: true | |
// new Boolean() instanceof RegExp: false | |
// | |
// typeof(/^$/) : object | |
// /^$/ instanceof String : false | |
// /^$/ instanceof Array : false | |
// /^$/ instanceof Function : false | |
// /^$/ instanceof Object : true | |
// /^$/ instanceof Number: false | |
// /^$/ instanceof Boolean: false | |
// /^$/ instanceof RegExp: true | |
// | |
// typeof(new RegExp()) : object | |
// new RegExp() instanceof String : false | |
// new RegExp() instanceof Array : false | |
// new RegExp() instanceof Function : false | |
// new RegExp() instanceof Object : true | |
// new RegExp() instanceof Number: false | |
// new RegExp() instanceof Boolean: false | |
// new RegExp() instanceof RegExp: true | |
// | |
// typeof(undefined) : undefined | |
// undefined instanceof String : false | |
// undefined instanceof Array : false | |
// undefined instanceof Function : false | |
// undefined instanceof Object : false | |
// undefined instanceof Number: false | |
// undefined instanceof Boolean: false | |
// undefined instanceof RegExp: false | |
// | |
// typeof(null) : object | |
// null instanceof String : false | |
// null instanceof Array : false | |
// null instanceof Function : false | |
// null instanceof Object : false | |
// null instanceof Number: false | |
// null instanceof Boolean: false | |
// null instanceof RegExp: false | |
// |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment