es6之Object


        let obj = {
            //直接设置变量key
            ['nan']:'name',
            getname:function(){//es5写法
                
            },
            getname(){//可以直接简写
                
            },
            //添加set,get方法
            set name(){
                return this.name
            },
            get name(){
                return this.name;
            }
            //如果属性和value相等,简写即可
            name,//name:name
        }
        
        Object.is({},{})//false
        Object.assign()//浅拷贝
        let  obj = Object.assign({},{name:'nan'})//扩展空对象
        //拷贝可枚举的
        let obj =  {};
        let obj2 = Object.assign(obj,{name:'nan'})
        obj===obj2
        
        class A{
            constructor(){
                this.name = 'nan'
            }
        }
        class B{
            constructor(){
                super();
                this.age = 20;
            }
            getAge(){
                
            }
        }
        B.prototype.getName = function(){  //可枚举
            
        }
        let b = new B();
        Object.keys(b) //  打印   name ,age  得不到原型链上的属性
        Object.getOwnPropertyNames(b) // 同上
        Object.getOwnPropertyNames(b.prototype) //可以获取到不可枚举的属性
        Object.keys(b.prototype)//得不到原型链上的属性
        
 

猜你喜欢

转载自blog.csdn.net/weixin_38098195/article/details/81879297