JS 中基础数据类型有哪些
更多描述 追问:
- 如何判断某个值为基础数据类型,写一函数
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 515
Author 回答者: shfshanyue
七种,文档见 基本数据类型 - MDN
- number
- bigint: 这个常常会忽略,最新加入的
- string
- undefined
- null
- symbol
- bool
关于如何判断基础数据类型,可以使用函数实现:
function isPrimitive(value) {
const type = typeof value;
return (
type === "string" ||
type === "number" ||
type === "symbol" ||
type === "boolean" ||
type === "bigint" ||
value == null
);
}
或者使用排除法
function isPrimitive(value) {
return (
value == null || (typeof value !== "function" && typeof value !== "object")
);
}
或者使用一点小技巧
function isPrimitive(value) {
return value !== Object(value);
}
Author 回答者: qwhatevera
应该加上对bigint的判断吧 function isPrimitive(value) { const type = typeof value; return ( type === ‘string’ || type === ‘number’ || type === ‘symbol’ || type === ‘boolean’ || type === ‘bigint’ || value == null ); }
Author 回答者: shfshanyue
@qwhatevera 写漏了,已经补上了