es 6 之 浅谈obj


        让obj = {
            //直接设置变量键
            ['nan']:'name',
            getname:function(){// es5写法
                
            },
            getname(){//可以直接简写
                
            },
            //添加set,get方法
            set name(){
                return this.name
            },
            get name(){
                return this.name;
            }
            //如果属性和值相等,简写即可
            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)//打印名称,年龄得不到原型链上的属性
        Object.getOwnPropertyNames(b)//同上
        Object.getOwnPropertyNames(b.prototype)//可以获取到不可枚举的属性
        Object.keys(b.prototype)//得不到原型链上的属性
        
 

猜你喜欢

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