You need to enable JavaScript to run this app. JavaScript中各类内置构造函数的prototype原型的类型是什么
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中各类内置构造函数的prototype原型的类型是什么

首先要明确:typeof 运算符的设计本身就会对所有普通对象(以及 null)返回 "object",只有函数类型会单独返回 "function",所以无法通过 typeof 判断这些原型的具体类型,要准确识别需要调用 Object.prototype.toString.call() 读取对象内部的 [[Class]] 标记。

你提到的所有内置原型本质上都属于 Object 的实例,同时各自对应特定的内置类型,具体属性如下:

  • Object.prototype:Object.prototype.toString.call(Object.prototype) 返回 "[object Object]",是JS原型链的最顶端,没有上层原型,属于普通对象实例。
  • Boolean.prototype:检测返回 "[object Boolean]",是特殊的布尔类型实例,默认存储的原始值为 false,调用 Boolean.prototype.valueOf() 可拿到该默认值。
  • Number.prototype:检测返回 "[object Number]",是特殊的数字类型实例,默认存储的原始值为 0。
  • String.prototype:检测返回 "[object String]",是特殊的字符串类型实例,默认存储的原始值为空字符串 ""。
  • Date.prototype:检测返回 "[object Date]",是特殊的日期类型实例,未绑定具体时间戳,调用其 valueOf() 会返回无效日期。
  • RegExp.prototype:检测返回 "[object RegExp]",是特殊的正则类型实例,默认对应空正则 /(?:)/。
  • Array.prototype:检测返回 "[object Array]",是特殊的数组类型实例,本身就是长度为0的空数组。
  • Set.prototype:检测返回 "[object Set]",是特殊的Set集合类型实例,本身是空集合结构。
  • Map.prototype:检测返回 "[object Map]",是特殊的Map字典类型实例,本身是空字典结构。
  • Function.prototype:这里需要注意,标准中 typeof Function.prototype 会返回 "function",它本身是一个无操作的空函数,检测返回 "[object Function]",属于特殊的函数类型实例。

所有非 Object.prototype 的内置原型的原型链最终都会指向 Object.prototype,所以它们都属于 Object 的子类实例,和普通对象的区别仅在于内部有对应类型的专属标记和内置方法。

内容的提问来源于stack exchange,提问作者Aliuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 19:03:03