优美编程

漫谈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(){}
上一篇下一篇

猜你喜欢

热点阅读