在今天面试过程中,面试官问到我,如何创建一个干净的对象,什么是干净的对象,其实就是没有Prototype属性
1.平常我们创建对象第一种方法就是
let obj = {}
console.log(obj);
但是你会发现他们还会有对象的一些属性以及方法
2.第二种创建方式,也就是直接new出构造函数
let obj1 = new Object()
console.log(obj1);
创建对象的方法还有很多,这里就不举例子了,你会发现这些对象被创建出来后,就默认带了属性和方法,这些都是继承了object的,如何创建出一个干净的对象呢,有人会说可以自定义类,class啊这些像这样
class ObjTest {
}
let test = new ObjTest()
console.log(test);
但是你会发现他也会自带Prototype属性,说明他也不是干净的对象,其实方法很简单,你只需要这样
let objtest = Object.create(null)
console.log(objtest);
你会发现他显示无属性,没有任何方法以及属性,而且你可以正常添加键值对
有的时候其实方法很简单,只不过是我们不知道,没有碰到的东西,也不去了解,导致不知道这些事情,所以码农们一起加油吧