美文网首页
包装对象

包装对象

作者: YangJeremy | 来源:发表于2018-02-24 12:00 被阅读0次

包装对象

基本概念

所谓“包装对象”,就是分别与数值、字符串、布尔值相对应的Number、String、Boolean三个原生对象。这三个原生对象可以把原始类型的值变成(包装成)对象。

var v1 = new Number(123);
var v2 = new String('abc');
var v3 = new Boolean(true);
typeof v1 // "object"
typeof v2 // "object"
typeof v3 // "object"

v1 === 123 // false
v2 === 'abc' // false
v3 === true // false
  • 包装对象使得JS对象涵盖所有的值,使原始类型的值也能很方便地去调用某些方法。
  • 如果不作为构造函数调用,那么常用于将任意类型的值转为数值、字符串、布尔值。
Number(123) // 123
String('abc') // "abc"
Boolean(true) // true

valueOf()和toString()方法

包装对象对应的方法是valueOf()和toString(),我们来看一下他们的用途。

  • valueOf()返回包装对象实例对应的原始类型的值
new Number(123).valueOf()  // 123
new String('abc').valueOf() // "abc"
new Boolean(true).valueOf() // true
  • toString()返回对应的字符串形式
new Number(123).toString()  // "123"
new String('abc').toString() // "abc"
new Boolean(true).toString() // "true"

自动转换

  • 原始类型的值,可以自动当做对象来调用,即调用对象的各种方法和参数,JS引擎会自动将原始类型的值转为包装对象的实例,
    使用后立刻销毁实例。如:
'abc'.length // 3
  • abc是一个字符串,本身不是对象,不能调用length属性。JavaScript 引擎自动将其转为包装对象,在这个对象上调用length属性。调用结束后,这个临时对象就会被销毁。这就叫原始类型与实例对象的自动转换。

相关文章

  • 包装对象

    包装对象 基本概念 所谓“包装对象”,就是分别与数值、字符串、布尔值相对应的Number、String、Boole...

  • 包装对象

    一个最基本的面向对象写法: function Aaa(){ //创建一个构造函数this.na...

  • 包装对象

    1.包装对象的定义 有人说,JavaScript 语言“一切皆对象”。这是因为数组和函数本质上都是对象,就连三种原...

  • 包装对象

  • 包装对象

    当我们的值类型需要操作属性的时候,就要借助包装对象 对象.属性只有对象才能设置,值类型设置属性的时候,每次都会创建...

  • 9.adding OO-style object wrappin

    添加面向对象风格——包装对象 添加链式调用,每次执行会返回一个新的包装对象

  • JAVA / Android 设计模式之适配器(Adapter)

    简介 定义 适配器模式,即定义一个包装类,用于包装不兼容接口的对象 包装类 = 适配器Adapter; 被包装对象...

  • 对象、包装类

    对象 1、用已学的知识来描述一下对象: 2、属性的增、删、改、查 对象的属性,没定义就访问时不会报错,会返回und...

  • (十二)包装对象

    1 定义 对象是 JavaScript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条...

  • js包装对象

    ECMAScript 提供了 3 个特殊的引用类型:Boolean、Number和 String。这些类型与其他引...

网友评论

      本文标题:包装对象

      本文链接:https://www.haomeiwen.com/subject/uhsqxftx.html