//[js] 写一个判断数据类型的方法
const typeCheck = (obj) => { const typeStr = Object.prototype.toString.call(obj); return typeStr.slice(8, typeStr.length - 1); }; console.log(typeCheck("str")); console.log(typeCheck(1)); console.log(typeCheck(() => null)); console.log(typeCheck({a: 1})); console.log(typeCheck([1, 2, 3])); console.log(typeCheck(new Set([1,2,3])));
补充点知识, 说不定哪天就用到了,您说不是吗
JavaScript call() 方法
call() 方法是预定义的 JavaScript 方法。
它可以用来调用所有者对象作为参数的方法。
通过 call(),您能够使用属于另一个对象的方法。
Object.prototype.toString()
可以通过 toString()
来获取每个对象的类型。为了每个对象都能通过 Object.prototype.toString()
来检测,需要以 Function.prototype.call()
或者 Function.prototype.apply()
的形式来调用,传递要检查的对象作为第一个参数,称为 thisArg
。