漫谈JS中的类型判断
2019-12-08 本文已影响0人
小遁哥
大家好 我是 typeof
typeof "xiaodun"
"string"
typeof undefined
"undefined"
typeof []
"object"
typeof {}
"object"
我可以用于判断基本类型,引用类型无法分辨
然而
typeof null
"object"
typeof function(){}
"function"
typeof new String("xiaodun")
"object"
大家好,我是instanceof
[] instanceof Array
true
({}) instanceof Object
true
我擅长比较引用类型
然而
[] instanceof Object
true
大家好,我是总部指派的Object.prototype.toString
战甲,最近一直在TS那边忙,让你们看看我的实力
Object.prototype.toString.call("xiaodun");
"[object String]"
Object.prototype.toString.call(null);
"[object Null]"
Object.prototype.toString.call(new String("xiaodun"));
"[object String]"
Object.prototype.toString.call(undefined);
"[object Undefined]"
Object.prototype.toString.call(function Foo(){});
"[object Function]"
咦 ,这是谁家的小孩,我怎么不认识
Object.prototype.toString.call(new function Foo(){});
"[object Object]"
我们可以分辨自己从哪里来哦
function Foo(){}
var sub = new Foo();
sub.constructor
ƒ Foo(){}