ES6

    xiaoxiao2023-11-10  147

    目录

    一、对象的简化写法: 

    二、Object.is() 用来比较两个值是否相等(NaN能判断其相等,-0和+0不等)

    三、Object.assign():合并/复制对象   数组也可以


    一、对象的简化写法: 

    let name="ty"; let age=15; let json={//es6新增的对象的写法 name, age, showA(){}//不要使用箭头函数 }; console.log(json);

    二、Object.is() 用来比较两个值是否相等(NaN能判断其相等,-0和+0不等

    三、Object.assign():合并/复制对象   数组也可以

    let a={a:1}; let b={b:2,a:5}; let c={c:3}; let json=Object.assign({},a,b,c);//合并对象,后面的覆盖前面的; console.log(json);

    四、Object.values(),Object.keys(),Object.entries()可简写为values(),keys(),entries()

    let {keys,values,entries} =Object;//结构赋值,方便下面简写 let json={a: 5, b: 2, c: 3} for(let key of keys(json)){ console.log(key); } // for(let item of json){//数组遍历方法,不能直接用于对象 // console.log(item); // } for(let item of values(json)){ console.log(item); } for(let item of entries(json)){ console.log(item) } for(let [key,value] of entries(json)){ console.log(key,value) }

    五、对象的扩展运算符 ...

    六、Object.defineProperty的使用

    let obj={ test:'hello' }; Object.defineProperty(obj,'test',{ configurable:true | false, //是否可以删除目标属性或是否可以再次修改属性的特性 默认false enumerable:true | false,//此属性是否可以被枚举 默认false value:'任意类型的值', //属性对应的值 默认undefined writable:true | false //属性是否可以被重写 默认false }) Object.defineProperty(obj,'newKey',{ configurable:true | false, enumerable:true | false, value:'任意类型的值', writable:true | false })

     

    最新回复(0)