高级前端
js
【Q505】JS 中基础数据类型有哪些

JS 中基础数据类型有哪些

更多描述 追问:

  1. 如何判断某个值为基础数据类型,写一函数

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 515 (opens in a new tab)

Author 回答者: shfshanyue (opens in a new tab)

七种,文档见 基本数据类型 - MDN (opens in a new tab)

  • number
  • bigint: 这个常常会忽略,最新加入的
  • string
  • undefined
  • null
  • symbol
  • bool

关于如何判断基础数据类型,可以使用函数实现:

function isPrimitive(value) {
  const type = typeof value;
  return (
    type === "string" ||
    type === "number" ||
    type === "symbol" ||
    type === "boolean" ||
    value == null
  );
}

或者使用排除法

function isPrimitive(value) {
  return (
    value == null || (typeof value !== "function" && typeof value !== "object")
  );
}

或者使用一点小技巧

function isPrimitive(value) {
  return value !== Object(value);
}