You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么JavaScript中typeof Object的运算结果为function?

问题解答:为什么typeof Object返回function,它们是不是构造器?

首先你混淆了两个核心概念:内置数据类型 和 内置构造函数。
你代码里用到的Object、String本身就不是“内置数据类型”,而是JS标准内置的构造函数,本质是可执行的函数对象,所以typeof检测返回function是完全符合规范的结果。

验证逻辑

你可以通过以下代码确认它们的身份:

// 验证属于Function的实例
console.log(Object instanceof Function); // 输出 true
console.log(String instanceof Function); // 输出 true

// 作为构造器使用,创建对应类型的实例
const obj = new Object();
const str = new String('测试字符串');
console.log(typeof obj); // 输出 object
console.log(typeof str); // 输出 object
console.log(str instanceof String); // 输出 true

补充特性

这类内置构造函数也可以不加new直接调用,用来做强制类型转换:

// 把数值转为字符串类型
console.log(String(12345)); // 输出 '12345'
// 把其他类型转为对象类型
console.log(Object('abc')); // 输出 String {'abc'} 对象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:24:08