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实现cookie的操作

    下面是详细讲解 JavaScript 实现 Cookie 操作的攻略。 什么是 Cookie Cookie(中文翻译为“网页 Cookie”或者“浏览器 Cookie”)是网站为了辨别用户身份的一种标识,是存在用户本地终端上的数据。Cookie 是小型文本文件,由网站服务器发送给用户浏览器,浏览器会将其存储在本地,之后每次请求该网站时都会携带该 Cookie…

    JavaScript 2023年6月11日
    00
  • uniapp实现人脸识别功能的具体实现代码

    实现人脸识别功能需要用到Uniapp的uni plugins插件,其中uni.plugins.facedetect插件可以用于实现人脸识别。 下面是实现人脸识别的代码示例: 引入uni.plugins.facedetect插件 import faceDetect from ‘@/uni_modules/facedetect/js_sdk/face_detec…

    JavaScript 2023年5月19日
    00
  • vbs屏蔽键盘按键

    VBScript屏蔽键盘按键攻略 VBScript屏蔽键盘按键可以通过Shell.Application对象的SendKeys方法实现。在SendKeys方法中,使用{HOLD}标记可以屏蔽掉所有的键盘按键,同时使用{UNHOLD}标记可以恢复所有的键盘按键。 步骤一:在VBScript中使用SendKeys屏蔽键盘按键 以下是一个使用VBScript屏蔽键…

    JavaScript 2023年6月11日
    00
  • javascript 面向对象的JavaScript类

    下面我将为您详细讲解“JavaScript 面向对象的 JavaScript 类”的完整攻略。 什么是面向对象的 JavaScript 类 “面向对象编程(Object-Oriented Programming,缩写 OOP)”是一种程序设计范式,它将真实世界的实体抽象为程序中的对象,并且通过对象之间的交互实现系统的功能。 在 JavaScript 中,面向…

    JavaScript 2023年5月27日
    00
  • WEB开发之注册页面验证码倒计时代码的实现

    WEB开发之注册页面验证码倒计时代码的实现可以通过以下步骤完成。 1. HTML结构 首先,我们需要在HTML中添加一个用于显示倒计时的标签,并为获取验证码的按钮添加一个点击事件,并在点击事件中调用计时器函数。 示例代码: <div> <label for="phone">手机号码:</label> &…

    JavaScript 2023年6月10日
    00
  • 详解原生JS动态添加和删除类

    下面就详细讲解一下“详解原生JS动态添加和删除类”的完整攻略。 概述 在前端开发中,动态改变元素的样式是十分常见的需求,其中动态添加类名和动态删除类名就是两种常见的实现方式。通过动态改变元素的类名,可以轻松实现样式的交互效果和动画效果。 动态添加类名 方法一:使用Element.classList方法 Element.classList是DOM API提供的…

    JavaScript 2023年6月10日
    00
  • 为JS扩展Array.prototype.indexOf引发的问题及解决办法

    如果扩展 Array.prototype.indexOf 方法,可能会在不经意间影响到其他代码或第三方库的运行,导致一些难以发现或修复的奇怪问题。在扩展 Array.prototype.indexOf 方法时,应该考虑仔细分析其潜在影响,并采取一些防范措施以避免可能出现的冲突和问题。 为JS扩展Array.prototype.indexOf引发的问题 当我们…

    JavaScript 2023年6月11日
    00
  • fastclick插件导致日期(input[type=”date”])控件无法被触发该如何解决

    首先,需要梳理一下问题的背景和现象: 背景:当网页中使用了fastclick插件时 现象:用户在点击日期选择控件时,控件无法弹出日期选择框,无法选择日期。 这是因为fastclick插件会阻止浏览器默认的双击事件(有些日期选择控件在点击两次时才能弹出)和移动端的300ms延迟,从而提升点击体验。然而这个插件的实现方式是,将点击事件改为tap事件,从而可能会对…

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