使用Object构造函数创建对象为何显示为[Number:42]而非{Number:42}?
为什么
new Object(42)输出[Number: 42]而非{Number: 42}? 当你调用new Object(42)时,创建的不是普通键值对对象,而是数字类型的包装对象——也就是Number构造函数的实例,专门用来包裹原始数值42。
控制台显示的[Number: 42]是Node.js对Number包装对象的专属格式化输出,目的是明确告诉你这是一个Number类型的对象实例,内部存储的数值为42。而你预期的{Number: 42}是普通对象,结构是名为Number的键对应值42,和包装对象的本质完全不同。
如果想要得到你预期的普通对象,应该直接写:
const obj = { Number: 42 };
内容的提问来源于stack exchange,提问作者Surajit
相关产品推荐
相关产品推荐

