JavaScript 中的基本类型包装对象

MDN上看到这一段

JavaScript 中的基本类型包装对象

除了 nullundefined之外,所有基本类型都有其对应的包装对象:

  • String为字符串基本类型
  • Number 为数值基本类型
  • BigInt 为大整数基本类型
  • Boolean 为布尔基本类型
  • Symbol 为字面量基本类型

我之前理解的包装对象就是装箱

let num = 123
num.toFixed(2) 

var c = new Number(123)
c.toFixed(2)
c = null

网上查到许多文章中都是

对象是 JavaScript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条件下,也会自动转为对象,也就是原始类型的“包装对象”(wrapper)。
所谓“包装对象”,指的是与数值、字符串、布尔值分别相对应的Number、String、Boolean三个原生对象。这三个原生对象可以把原始类型的值变成(包装成)对象。

那么 BigIntSymbol的装箱过程是什么?

阅读 1.6k
1 个回答

BigIntSymbol都不能使用new构造,得显式的调用Object函数进行装箱。

typeof BigInt('1') // "bigint"
typeof Object(BigInt('1')) // "object"

typeof Symbol() // "symbol"
typeof Object(Symbol()) // "object"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题