首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript是支持拆箱还是只支持自动装箱?

JavaScript是支持拆箱还是只支持自动装箱?
EN

Stack Overflow用户
提问于 2021-09-14 18:22:21
回答 2查看 72关注 0票数 0

我知道JavaScript支持自动装箱(从原始数据类型到其对象副本的自动转换),但JavaScript也支持拆箱(从对象到其原始数据类型副本的自动转换)吗?

EN

回答 2

Stack Overflow用户

发布于 2021-09-14 18:26:19

,但JavaScript也支持拆箱(从对象到其原始数据类型副本的自动转换)

是的,确实如此。例如,当你这样做时,就会发生这样的事情:

代码语言:javascript
复制
'' + { };

这让你明白了:

代码语言:javascript
复制
'[object Object]'

尽管这并不完全适合“拆箱”。

我认为一个更好的例子是使用StringNumber。因为这些值实际上是被装箱的。

代码语言:javascript
复制
new String('test') + '!!!' // "test!!!"
2 ** (new Number(2)) // 4
2 + (new Number(2)) //4
2 / (new Number(2)) //1
票数 0
EN

Stack Overflow用户

发布于 2021-09-14 18:30:19

从对象包装器获取基础原始值的最简单方法是使用valueOf()方法:

代码语言:javascript
复制
 const a = Object(false);
 a == false; //true
 a === false //false
 a.valueOf() == false //true
 a.valueOf() === false //true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69182822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档