大家伙平时是怎么判断“基本数据类型”的?
发布于 1 年前 作者 daGaiGuanYu 3732 次浏览 来自 问答

判断一个变量里存的 是否为基本数据类型

mdn 上说:

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) 不是

回到顶部