【JavaScript】包装类型

包装类型是指将基本数据类型(如字符串、数字、布尔值)转换为对应的引用数据类型的过程。

JavaScript 在访问基本数据类型值的时候会自动创建对应的包装对象,以便调用对象的方法和访问属性。这种自动创建包装对象的过程称为包装。

1. 字符串包装类型(String):

let str = "hello";
// 在调用字符串的方法时,JavaScript 会自动将 str 包装为 String 对象
console.log(str.length); // 输出 5,调用 String 对象的 length 属性

2. 数字包装类型(Number):

let num = 42;
// 在调用数字的方法时,JavaScript 会自动将 num 包装为 Number 对象
console.log(num.toFixed(2)); // 输出 "42.00",调用 Number 对象的 toFixed 方法

3. 布尔包装类型(Boolean):

let bool = true;
// 在需要使用布尔值的对象方法时,JavaScript 会自动将 bool 包装为 Boolean 对象
console.log(bool.valueOf()); // 输出 true,调用 Boolean 对象的 valueOf 方法

包装类型的使用注意事项:

  1. 包装对象是临时创建的:当访问基本数据类型的属性或方法时,JavaScript 会临时创建(new)对应的包装对象,内容和基本类型一样,操作完并访问后,这些对象会立即被销毁,不会影响原始的基本数据类型值,再次访问就是 undefined。
let str = 'asd'
console.log(str.includes('a'))
/**
 * 过程实现:
 * let _str = new String('sad')
 * _str.includes('a')
 * _str = null
 */
// let _str = new String('sad')
// console.log(_str.includes('a')) // true
// _str = null
// console.log(_str) // null
  1. 如果原型上不存在的方法不可以使用,不可以在对象身上进行动态添加,但是可以在原型身上动态添加。
// let str = 'asd'
// str.test = 'hello'
// console.log(str.test)  // undefined

/**
 * 实现过程:
 * let _str = new String('asd')
 * _str.test = 'hello'
 * _str.test = null
 */

let str = 'asd'
String.prototype.test = 'hello'
console.log(str.test)  // hello
let str = new String('asd')
str.test = 'hello'
console.log(str.test) // hello

当然也可以自己手动创建:

let str = "hello";
// 手动创建 String 对象
let strObj = new String(str);
console.log(strObj.length); // 输出 5
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秀秀_heo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值