大家伙平时是怎么判断“基本数据类型”的?
判断一个变量里存的 是否为基本数据类型
All primitive types, except null, can be tested by the typeof operator. typeof null returns “object”, so one has to use === null to test for null.
那么可不可以这样:
function isPrimative(target) {
return typeof target != 'object' && typeof target != 'function' || target === null
}
大家有没有想到什么反例,或更简洁的方式,感谢指导!
2 回复
我一般都用 Object.prototype.toString.call(v) 的返回值,任何类型都可以准确判断。 比如 let a = 1, b = new Number(1); 用 typeof 结果不一样, 但是用 Object.prototype.toString.call(v) 结果是一样的。
@myy 我就说嘛,这个名字看起来很熟悉,两年前在这个四楼,老哥帮我解答过这个问题
但是这个楼我想问的是“如何判断一个变量里存的是否为基本数据类型”
比如 1
是基本数据类型,new Number(1)
不是