JavaScript包装对象使用介绍

当在 JavaScript 中使用基本数据类型时,例如数字、字符串和布尔值时,这些类型会被自动转换为对应的包装对象类型 Number、String 和 Boolean。这些包装对象类型在需要调用其原型链上的方法时特别有用。下面介绍一下 JavaScript 包装对象的使用方法。

JavaScript 包装对象概述

在 JavaScript 中包装对象类型是一种对象类型,算是基本数据类型的衍生,其中包装了对应基本数据类型的值,同时提供了一些常用的方法。它们依照对应的基本数据类型,分别为 NumberStringBoolean。这些对象与普通对象之间的区别在于,对这些对象进行属性的引用等操作时,都是临时转换为对应的基本数据类型,不会改变原包装对象实例中存储的数据类型。

例如,当一个字符串被转化为一个 String 对象时,即使对这个对象进行了某些方法调用,原始字符串也不会改变。当我们调用该对象的某些方法或者属性时,比如 length 或者 charAt,它会先将原始字符串转化为 String 对象,然后对这个对象进行操作,同时并不会改变原始字符串本身。

JavaScript 包装对象的使用

创建一个包装对象

包装对象可以通过直接在基本类型值周围添加对应的对象构造函数来创建,如下所示:

const numObj = new Number(27);
const strObj = new String('hello');
const boolObj = new Boolean(true);

我们还可以使用字面量的(literal)形式来创建包装对象,如下所示:

const numObj = 27;
const strObj = 'hello';
const boolObj = true;

然后可以使用 typeof 运算符来检测这些包装对象类型:

console.log(typeof numObj);
console.log(typeof strObj);
console.log(typeof boolObj);

答案将会是:

object
object
object

访问包装对象值

我们可以使用到包装对象的属性和方法,举个例子:

const numObj = new Number(27);
console.log(numObj.valueOf()); // 返回一个 Number 对象的原始值,也就是数字 27。
console.log(numObj.toFixed(2)); // 返回一个保留了两位小数的字符串 "27.00"。

包装对象与基本类型

javascript 在使用基本类型时,在实际运算时会进行隐式转换,它会自动将基本类型封装成对应类型的对象,进行操作。在使用基本类型时就能够使用到对应类型的方法。例如:

const numObj = 27;
console.log(numObj.toFixed(2));

在这个例子中,numObj 就是一个基本类型的值,而不是一个 Number() 对象。但是 numObj.toFixed() 却可以正常运行,这是因为在使用 numObj 进行运算时,JavaScript 自动把 numObj 转化为一个 Number 对象,让 toFixed() 方法在它上面运行。

同样的,我们还可以使用 String()Boolean() 方法来操作基本类型:

const strObj = String('hello');
const boolObj = Boolean(true);
console.log(strObj.toUpperCase()); // HELLO
console.log(boolObj.toString()); // true

总结

JavaScript 包装对象真正的功能就是帮助我们操作基本类型的值,让我们可以像操作对象一样的方法和属性来处理基本类型。虽然这些包装对象默认情况下都是对象,但它们不能具有基本类型的行为特征。例如:在条件语句中只会根据临时对象的值的真假来判断 ifelse 分支进行执行,而临时对象永远不会转换为真实存在的包装对象。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript包装对象使用介绍 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • vue使用keep-alive保持滚动条位置的实现方法

    当我们在Vue应用中使用Vue-router进行路由跳转时,如果跳转到的页面存在滚动条,那么这时候就会存在一个问题,就是当我们返回到之前的路由时,滚动条会自动回到顶部,而不是保持在之前的位置。而我们可以使用keep-alive组件来保持滚动条位置。 Vue中keep-alive组件的使用 Vue中的keep-alive组件可以帮助我们在组件切换时,保留组件状…

    JavaScript 2023年6月11日
    00
  • JavaScript实现DOM对象选择器

    实现DOM对象选择器是JavaScript编程中最常用的功能之一。下面是详细讲解如何使用JavaScript实现DOM对象选择器的完整攻略: 1. 理解DOM对象选择器 在开发Web应用中,我们需要频繁地访问和操作网页元素。而每个网页元素都是一个DOM对象,可以通过JavaScript的DOM对象选择器来获取它们。DOM对象选择器可以根据元素的标签、类名、I…

    JavaScript 2023年6月10日
    00
  • 解决vue中使用history.replaceState 更改url vue router 无法感知的问题

    在Vue Router中,要想改变URL但不重新加载页面,可以使用history.pushState()或history.replaceState()方法。但有时使用history.replaceState()方法更改URL后,Vue Router可能无法感知URL的改变,从而不会更新视图,这可能是由于缺少路由监视或未调用Vue Router API的原因。…

    JavaScript 2023年6月11日
    00
  • JavaScript与C# Windows应用程序交互方法

    JavaScript与C# Windows应用程序交互方法 本文将介绍在 Windows 应用程序中如何实现 JavaScript 与 C# 相互通信的方法,主要包括以下内容: 通过 WebView 控件实现 JavaScript 与 C# 的通信 JavaScript 调用 C# 方法示例 C# 调用 JavaScript 方法示例 实现 JavaScri…

    JavaScript 2023年5月27日
    00
  • 正则表达式(regex)入门、元字符(特殊字符)学习与提高

    正则表达式入门 正则表达式(regex)是一种用于处理文本的强大工具,它通常用于搜索、替换和验证字符串。正则表达式由一系列字符和元字符组成,它们可用于描述模式。本文将介绍正则表达式的基础知识以及一些常用元字符的用法。 正则表达式基础知识 字符字面量 在正则表达式中,普通字符(例如字母、数字)代表自己本身,匹配输入文本中的相应字符。例如,正则表达式 hello…

    JavaScript 2023年6月10日
    00
  • 判断可拖动div是否重合 重合多少

    判断可拖动div是否重合,需要考虑以下几个步骤: 步骤一:确定两个div的位置、大小 判断两个div是否重合,首要条件是要获取它们的位置以及大小。可以通过jQuery中的offset和width/height方法获取其在页面上的位置和大小。例如: var $div1 = $("#div1"); var $div2 = $("#d…

    JavaScript 2023年6月11日
    00
  • JS字符串统计操作示例【遍历,截取,输出,计算】

    为了更好地讲解 “JS字符串统计操作示例【遍历,截取,输出,计算】”,我们首先需要了解什么是字符串以及JavaScript中的字符串操作函数。 1. 什么是字符串? 字符串就是一系列字符的集合,例如”Hello World!”就是一个字符串。在JavaScript中,字符串可以用单引号、双引号或被反斜杠包括起来。 例如: var str = ‘Hello W…

    JavaScript 2023年5月28日
    00
  • JavaScript利用fetch实现异步请求的方法实例

    下面是针对“JavaScript利用fetch实现异步请求的方法实例”的完整攻略: 什么是fetch? fetch是浏览器原生的一种实现网络请求的API,主要用于替代传统的XMLHttpRequest(XHR)对象,它使用Promise对请求进行异步处理,更加方便和易用。 fetch的基本使用 fetch API 接收一个URL参数,其返回一个Promise…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部