我知道JavaScript支持自动装箱(从原始数据类型到其对象副本的自动转换),但JavaScript也支持拆箱(从对象到其原始数据类型副本的自动转换)吗?
发布于 2021-09-14 18:26:19
,但JavaScript也支持拆箱(从对象到其原始数据类型副本的自动转换)
是的,确实如此。例如,当你这样做时,就会发生这样的事情:
'' + { };这让你明白了:
'[object Object]'尽管这并不完全适合“拆箱”。
我认为一个更好的例子是使用String或Number。因为这些值实际上是被装箱的。
new String('test') + '!!!' // "test!!!"
2 ** (new Number(2)) // 4
2 + (new Number(2)) //4
2 / (new Number(2)) //1发布于 2021-09-14 18:30:19
从对象包装器获取基础原始值的最简单方法是使用valueOf()方法:
const a = Object(false);
a == false; //true
a === false //false
a.valueOf() == false //true
a.valueOf() === false //truehttps://stackoverflow.com/questions/69182822
复制相似问题