JavaScript样式:不要将包装器对象用于基本类型

Bil*_*ill 12 javascript primitive coding-style object wrapper

在Google JavaScript样式指南中,它表示不对原始类型使用包装器对象.它说这样做是"危险的".为证明其重点,它使用了以下示例:

var x = new Boolean(false);
if (x) {
  alert('hi');  // Shows 'hi'.
}
Run Code Online (Sandbox Code Playgroud)

好的,我放弃了.为什么if代码在这里执行?

mar*_*arc 17

因为每个变量typeof Object都是真实的并且包装器是对象.


Ray*_*nos 11

if(x)如果x是真的会运行.

x 如果它不是假的,那就是真的.

x是falsey如果X是null,undefined,0,"",false

所以,因为new Boolean(false)是一个Object和一个Object真正的truthy,块运行