开箱

如果你有一个包装器对象,而你想要取出底层的基本类型值,你可以使用 valueOf() 方法:

  1. var a = new String( "abc" );
  2. var b = new Number( 42 );
  3. var c = new Boolean( true );
  4. a.valueOf(); // "abc"
  5. b.valueOf(); // 42
  6. c.valueOf(); // true

当以一种查询基本类型值的方式使用对象包装器时,开箱也会隐含地发生。这个处理的过程(强制转换)将会在第四章中更详细地讲解,但简单地说:

  1. var a = new String( "abc" );
  2. var b = a + ""; // `b` 拥有开箱后的基本类型值"abc"
  3. typeof a; // "object"
  4. typeof b; // "string"