学习原生JS Object 对象主要理解的知识点整理

1.Object对象本身就是一个工具函数,可以将任意值转换为对象,我们理解这个转换主要有三个知识点

(1).如果参数为空,或者为undefined,或者为null,Object()返回的是一个空对象。

let obj = Object();
let obj = Object(undefined);
let obj = Object(null);

console.log(obj) // {}
复制代码

(2).如果参数为原始值,会将其转换为对应的包装对象。

let obj = Object(18);
obj instanceof Object // true
obj instanceof Number // true


let obj = Object('name');
obj instanceof Object // true
obj instanceof String // true


let obj = Object(true);
obj instanceof Object // true
obj instanceof Boolean // true
复制代码

(3). 如果参数为对象,它直接返回这个对象。

let arr = [];
let obj = Object(arr); // 返回原数组
obj === arr // true

let value = {};
let obj = Object(value) // 返回原对象
obj === value // true

let fn = function () {};
let obj = Object(fn); // 返回原函数
obj === fn // true
复制代码

2.Object 对象还有另外一个最重要的功能就是当构造函数使用。

let obj = new Object();
复制代码

它与字面量的写法 let obj = {} 是等价的,我们一般常用字面量的写法来声明一个新的对象。

其次它与工具函数的方法也很类似,都可以接收一个参数。
上述所列第一点、第二点一致。
区别在于第三点

当这个参数为对象的时候Object(value) 是返回这个对象,而new Object是生成一个新的对象,值是value。

未完待续

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享