下面是“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技术站