JavaScript中的Primitive对象封装介绍

下面是“JavaScript中的Primitive对象封装介绍”的完整攻略。

什么是Primitive对象

JavaScript中存在两种数据类型:原始数据类型和引用数据类型。其中原始数据类型又称为Primitive类型,包括Number、String、Boolean、Null、Undefined和Symbol(ES6新增)。

Primitive对象是JavaScript中的原始数据类型对应的对象封装,使用Object()构造函数可以将原始数据类型封装成对象。

如何封装Primitive对象

下面是使用Object()构造函数来封装Primitive对象的示例代码:

// 将数字封装成Number对象
let numObj = new Object(123);
console.log(numObj instanceof Number); // true

// 将字符串封装成String对象
let strObj = new Object('hello');
console.log(strObj instanceof String); // true

// 将布尔值封装成Boolean对象
let boolObj = new Object(true);
console.log(boolObj instanceof Boolean); // true

// 将null封装成Object对象
let nullObj = new Object(null);
console.log(nullObj instanceof Object); // true

// 将undefined封装成Object对象
let undefinedObj = new Object(undefined);
console.log(undefinedObj instanceof Object); // true

// ES6新增的Symbol类型需要使用Symbol()构造函数来创建
let symObj = new Object(Symbol('foo'));
console.log(symObj instanceof Symbol); // false
console.log(typeof symObj); // 'object'

如何访问Primitive对象的值

封装成Primitive对象后,可以通过相应的valueOf()方法来访问原始值。另外,可以隐式地通过类型转换将Primitive对象转换为原始值。

下面是访问Primitive对象的值的示例代码:

let numObj = new Number(123);
console.log(numObj.valueOf()); // 123

let strObj = new String('hello');
console.log(strObj.valueOf()); // 'hello'

let boolObj = new Boolean(true);
console.log(boolObj.valueOf()); // true

let nullObj = new Object(null);
console.log(nullObj.valueOf()); // null

let undefinedObj = new Object(undefined);
console.log(undefinedObj.valueOf()); // undefined

let symObj = new Object(Symbol('foo'));
console.log(symObj.valueOf()); // 报错:TypeError: Cannot convert a Symbol value to a string

将Primitive对象转换为原始值的示例代码:

let numObj = new Number(123);
let num = +numObj;
console.log(num); // 123

let strObj = new String('hello');
let str = strObj + ' world';
console.log(str); // 'hello world'

let boolObj = new Boolean(true);
let bool = boolObj && false;
console.log(bool); // false

let nullObj = new Object(null);
let nullVal = nullObj || 'default';
console.log(nullVal); // {Object(null)}

let undefinedObj = new Object(undefined);
let undefinedVal = undefinedObj ?? 'default';
console.log(undefinedVal); // {Object(undefined)}

以上是Primitive对象封装的介绍和示例,希望能够对你有所帮助。

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

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

相关文章

  • JavaScript中解析JSON数据的三种方法

    JavaScript中解析JSON数据的三种方法涉及到解析JSON的格式,这里我们假设需要解析的JSON数据为以下格式: { "name": "John Doe", "age": 30, "isAdmin": true, "hobbies": [ "…

    JavaScript 2023年5月27日
    00
  • JavaScript 编写匿名函数的几种方法

    这里是详细讲解“JavaScript 编写匿名函数的几种方法”的完整攻略。 什么是匿名函数 匿名函数是一种没有名称的函数,也就是没有函数名的函数表达式。它可以作为值赋给变量、作为函数参数传递、作为返回值等等。 JavaScript 编写匿名函数的几种方法 以下是几种常见的 JavaScript 编写匿名函数的方法。 方法一:使用函数表达式 函数表达式是使用 …

    JavaScript 2023年5月27日
    00
  • JavaScript基础知识学习笔记

    JavaScript 基础知识学习笔记 – 完整攻略 学习 JavaScript 基础知识是成为前端工程师的第一步。在这篇攻略中,我们将探讨如何系统地学习 JavaScript 基础知识和一些实际的学习示例。 1. 学习 JavaScript 基础知识的步骤 步骤1: 学习 JavaScript 基础语法 学习 JavaScript 基础知识的第一步是熟悉语…

    JavaScript 2023年5月17日
    00
  • JS document对象简单用法完整示例

    让我们来详细讲解“JS document对象简单用法完整示例”的攻略。文本将被分为几个部分:介绍什么是document对象、document对象的一些属性和方法、示例说明。 什么是document对象? document 对象是指代整个文档的根节点,所有的HTML元素都是文档的后代,可以通过该对象来操作 HTML 页面。 document对象的属性和方法 d…

    JavaScript 2023年5月27日
    00
  • js COL能很好的控制表格的列

    JS COL指的是JavaScript中的HTML DOM元素中的col对象,通过JS代码操作col对象可以对表格中某一列的特征进行修改。 下面是操作表格中某一列时常用的一些属性: align:水平方向上的对齐方式。 width:设置该列的宽度,比如设置width为”100″,则表示该列的宽度为100个像素。 span:设置该列跨几列,比如设置span为”2…

    JavaScript 2023年6月11日
    00
  • 获取阴历(农历)和当前日期的js代码

    获取阴历(农历)和当前日期是网站中常见的功能之一。使用JavaScript实现这个功能需要借助第三方库或者手写算法。 一、使用第三方库 推荐使用lunar-calendar这个JavaScript库,该库提供了方便的API实现将阳历日期转换为阴历日期。在获取当前日期的情况下,可以直接使用JavaScript的Date对象获取。具体步骤如下: 下载lunar-…

    JavaScript 2023年5月27日
    00
  • vue中使用ts配置的具体步骤

    使用 TypeScript 来编写 Vue.js 项目可以提高项目的可靠性与开发效率。下面是 Vue.js 中使用 TypeScript 的配置具体步骤: 步骤 1:安装相关依赖 首先,我们需要在项目中安装以下依赖: npm install –save-dev typescript ts-loader vue-class-component 其中: typ…

    JavaScript 2023年6月11日
    00
  • 判断文件是否正在被使用的JS代码

    判断文件是否正在被使用是一个常见的需求,特别是在需要删除或移动文件的场景中。以下是一些主流的实现方案: 方案一:尝试修改文件属性 文件被占用时,尝试修改文件属性或对文件进行写操作会导致操作失败。因此,可以通过尝试修改文件属性或写入数据来判断文件是否正在被占用。以下是示例代码: function isFileInUse(filePath) { let isUs…

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