Object.create()详解

/**
 * Object.create()方法可以传两个参数,第一个是原型对象,第二个是自身属性(是一个可描述的对象) value configurable writable emumerable
 * 
 * */ 
        let obj=Object.create({a:1},{
            b:{
                value:1
            },
            c:{
                value:2,

         configurable:true,
                writable:true,
                enumerable:true

} })

 

默认是不可删除的(configurable默认是false,设置为true就可以删除了)

默认不可枚举使用for in枚举只能输出a:1

        for( var k in obj){
            console.log(k,obj[k]);
        }
    
  
  
//enmunerable 设置为true就能枚举了, 默认也不可修改 设置writable为true就能修改了

使用assign(不会去管源对象原型上的属性的,只能处理可枚举的)

 const newObj=Object.assign({},obj)
 console.log(newObj)



posted @ 2020-12-11 20:07  菜鸟程序员的总结  阅读(1485)  评论(0编辑  收藏  举报