JavaScript 之 基本包装类型

Posted niujifei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 之 基本包装类型相关的知识,希望对你有一定的参考价值。

基本包装类型

  为了方便操作基本数据类型,javascript 还提供了三个特殊的引用类型:String/Number/Boolean

   下面先看一段代码:

var s1 = "Hello world!!!";
var s2 = s1.substring(5);

   我们要知道,s1 是一个基本类型,基本类型是没有办法的,只有对象才有属性和方法。那就有一个疑问,为什么可以调用 substring() 方法呢?

    原因: 当调用 s1.substring(5) 的时候,会先把 s1 包装成 String类型的临时对象,再调用 substring()方法,最后销毁临时对象。

   等价于:

var s1 = new String(‘Hello World!!!‘);
var s2 = s1.substring(5);
s1 = null;

  

创建基本包装类型的对象:

var num = 18;                // 数值,基本类型
var num = Number(‘18‘);      // 类型转换
var num = new Number(18);    // 基本包装类型,对象

 

注意:String 包装类最常用,Number 和 Boolean 基本包装类型基本不用,使用的话可能会引起歧义。 

  Demo:

var b1 = new Boolean(false);
var b2 = b1 && true;

 

  下面来讨论一下 b2 的值是什么?

  b2 = true。

  原因:b1 是一个 Boolean 对象,它的原始值(PrimitiveValue)为 false。b1&& true 因为 b1是一个非空对象,所以会默认转换为 true。所以 b2 的值为 true

  扩展:会转换为 false 的5种情况: 0  ‘‘  null  NaN  undefined 

 

以上是关于JavaScript 之 基本包装类型的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript的基本包装类型说明

JavaScript基本包装类型

JavaScript基本包装类介绍

JavaScript:基本包装类型

JavaScript--基本包装类型+Math对象

JavaScript学习--Item4 基本类型和基本包装类型(引用类型)