美文网首页
Object相关方法

Object相关方法

作者: Sccong | 来源:发表于2017-12-07 16:37 被阅读0次
    • getOwnPropertySymbols

      获取对象中所有Symbol类型的key

      const a = Symbol('a');
      let obj = {};
      obj[a] == 11;
      Object.getOwnPropertySymbols(a);
      > Symbol(a)
      
    • getOwnPropertyNames

      返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组

      let scc= {age:11}
      Object.getOwnPropertyNames(scc)
      > ["age"]
      
    • Object.defineProperty(obj, prop, descriptor)

      在对象上定义属性,并描述属性的状态,比如configurable: false, writable: true, enumerable: true, value: '张三'

      let a= {};
      Object.defineProperty(a,age,{
          writable:false,//是否可以被改写,不会报错。
          enumerable:false,//是否可以被枚举
          configurable:true,//是否可以被删除
          value:22//属性的值,
          get:func,//取值时会触发
          set:func//设置值时会触发
      })
      
    • Object.defineProperties

      与上面的区别就是,第二个参数同时定义属性名,和描述

      Object.defineProperties(obj, {
      name: {
          value: '张三',
          configurable: false,
          writable: true,
          enumerable: true
      },
      age: {
              value: 18,
              configurable: true
          }
      })
      
    • Object.preventExtensions(obj);

      设置对象为不能扩展,即不能添加新属性.

    • Object.isExtensible(obj);

      设置对象为可以扩展,即是上面的取反。

    • obj.hasOwnProperty(prop)

      判断对象是否拥有该属性

      let a = { age:11 };
      a.hasOwnProperty('age')
      > true
      
    • Object.getOwnPropertyDescriptors

      返回对象的所有的属性的描述
      let a = {age:1} Object.getOwnPropertyDescriptors(a);

    • Object.getOwnPropertyDescriptor

      获取对象指定的属性的描述

      let a = {age:1}
      Object.getOwnPropertyDescriptor(a,'age');
      
    • Object.getPrototypeOf(a)

      获取对象的原型

    • isPrototypeOf

      获取后面的那个是不是在前面那个的原型链上

      let a =function(){}
      let b = new a();
      a.prototype.isPrototypeOf(b);
      > true
      
    • Object.setPrototypeOf(a,{age:11})

      设置对象的proto,想当于,a.proto = {age:11}

    • Object.getPrototypeOf(a)

      获取对象的proto

    后面还会补充....

    相关文章

      网友评论

          本文标题:Object相关方法

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