美文网首页
js对象(一)

js对象(一)

作者: Viewwei | 来源:发表于2020-11-03 18:57 被阅读0次

    1 对象属性类型
    对象属性有4个特征来描述他们的行为
    Configurable:表示属性是否可以通过delete删除并重新定义,是否修改它的特性,以及是否可以改为访问器属性。默认为true
    Enumerable:表示属性是否可以通过for-in循环返回 默认为true
    Writeable:属性的值是否可以被修改
    Value:包含属性实际值
    2.修改属性
    修改属性的默认特性,就必须使用Object.defineProperty()方法,

    let persion = {}
    Object.defineProperty(persion,"name",{
          writeable:false,
          value:"",
          enumable:true,
          configurable:true
    })
    

    3 修改对象属性的特性
    使用Object.getOwnPropertyDescriptor()方法获取到属性指定特性,访问属性包含 configurable,enumerable get set
    4 合并对象
    ES6专为为合并对象提供合并方法 Object.assign(),方法接收一个目标对象和一个或者多个有源对象作为参数,然后把属性复制到目标对象中(浅复制),方法返回值就是目标对象.

    let des = {}
    let src ={id:"src"}
    let res = Object.assign(des,src)
    //res === des
    
    

    5 对象标识相等
    ES6体重Object.is()来判断是否相等
    6 增强对象语法
    当属性名和变量名一致的时候,直接在对象中写入变量

    let msg  ="a"
    let obj = {msg}
    console.log(obj) //{msg:"a"}
    

    7 对象计算属性
    对象的的属性可以是变量,最后对象表现的属性为变量对应的值。同时对象的方法名也可以使用变量的形式展示。变量用[]包裹
    8 对象结构
    ES6新增对象解构语法,可以使用一条语句嵌套数据实现一个或者多个赋值操作。null undefined不能参与数据解构。结构的时候支持使用默认值操作

    let persion ={
                    age:27,
                    name:"view"
    }
    let {age,name} = persion //第一种
    let {name:username,age:userage} = persion //username = view userage = view
    let {age,k="111"} = persion  //age= 27 k=111
    
    

    解构支持多层解构

    let psersion = {
      age:26,
      obj:{
      a:1
      }
    } 
    let {age:{a}} = persion //age = 26 a =1
    

    解构函数同时支持作为函数的参数。

    相关文章

      网友评论

          本文标题:js对象(一)

          本文链接:https://www.haomeiwen.com/subject/vwomvktx.html