1.原始数据的对象包装器 - JS

本文详细解释了JavaScript中的数据类型分类,包括原始数据类型(如数字、字符串等)和引用数据类型(如对象)。着重介绍了原始数据如何通过对象包装器实现方法调用,并指出对象包装器构造的对象不属于原始数据类型。
摘要由CSDN通过智能技术生成

数据类型及其区分

已知,JS 中数据类型分为两种:

  • 原始数据类型:数、字符串、布尔值、大数、Symbol、null、undefined(7个);
  • 引用数据类型:对象(自定义对象、内置对象 Array/Map/Set/Date/Error/Promise……)。

对于原始数据和部分对象,允许通过字面量进行赋值操作。但是不影响两种数据的存储结构和引用方式:

  • 一个原始数据:存储原始类型的一个值,值引用;
  • 一个对象:存储多个值作为属性/方法,地址引用。

原始数据的对象包装器

尽管原始数据只存储单个值,但存在对应的对象包装器,所以可以调用对应的方法。如一个数字可以使用 NumbertoFixed 方法、一个字符串可以使用 Stringat 方法等。

let a = 1.2256
a.toFixed(3)		// 1.226
let s = 'hello'
s.at(1)				// 'e'

以上面的数字为例,其调用方法可认为进行了以下三个步骤:

  1. 完成包装:let t = Number(a),使用包装器构造一个临时对象;
  2. 调用方法:t.toFixed(3),调用对象的方法得到对应结果;
  3. 销毁包装:t = undefined,销毁临时对象。

对象包装器构造的对象,不属于原始数据类型。

let a = new Number(1);
typeof(a)		// 'object'
typeof(1)		// 'number'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值