在读 Winter 大佬的《重学前端》栏目时,重温了 JS 的「拆箱转换」。「装箱转换」与「拆箱转换」以前都是了解的,今天来看,自己所谓的了解也真是一知半解。在阅读 Winter 老师写的内容后,对「拆箱转换」这个知识点还是不甚清楚,因此我再去深入地了解一番,参考资料详见文末的「参考链接」。那就是在拆箱转换时,调用了对象的 ToPrimitive 内部函数时,其会根据执行上下文,自动传入一个转换类型参数,暂时给它命名为 hint。在 JavaScript 标准中,规定了 ToPrimitive 函数,它是对象类型到基本类型转换的实现者;但这是一个内部算法,是编程语言在内部执行时遵循的一套规则。但是对于不同的操作,拆箱转换的内部实现也有所区别,正如上面的例子所示。

原来JS还可以这样拆箱转换详解

原来JS还可以这样拆箱转换详解

原来JS还可以这样拆箱转换详解

原来JS还可以这样拆箱转换详解