chaihongjun.me

Object常用API总结

Object 类型API

 /* 
   /   @param Object target 
    /   @param Object source 
     /   @return Object target 
      */ 
      Object.assign(target,...source)

用于将所有可枚举属性的值从一个或多个源对象(源对象自身属性)分配到目标对象,如果有重复的属性,将使用source内的覆盖target的属性

通常用于对象的复制


 /* 
   /   @param Object proto  新对象的原型对象 
    /   @param Object properties 
     /   @return Object object  新对象 
     */ 
      /* properties :
      { 
            proper1:{ 
              configurable: 
                  enumerable: 
                      value: 
                          writable: 
                              get: 
                                  set: 
         }, 
  proper2:{ 
              ... 
          } 
              ...
              
 } */ 
 Object.create(proto,?properties)

proto原型对象加可选的对象描述符properties来创建新的对象 新对象的属性在新对象的原型上。


 /* 
 /   @param Object object 
  /   @param Object properties 
   /   @return Object object 
    */ 
     /* 
         properties :{ 
                 proper1:{ 
                               configurable: 
                       enumerable: 
                       value: 
                       writable: 
                       get: 
                       set: 
                    }, 
            proper2:{ 
                       ... 
                    } 
                      ... 
              } */ 
 Object.defineProperties(object, properties)

用来定义对象新属性或者修改对象的属性,返回当前这个对象


 /* 
   /   @param Object object 
    /   @param Object property  单一属性 
    /   @param Object descriptor   该属性的描述符 
    /   @return Object object    返回当前对象 
    */ 
     /*   descriptor : { 
                          configurable: 
                          enumerable: 
                          value: 
                          writable: 
                          get: 
                          set:
                        }*/ 
      Object.defineProperty(object, property, descriptor)

用来定义对象新属性或者修改对象的属性,返回当前这个对象


 /* 
   /   @param Object object  对象 
   /   @return Array array  返回可枚举的键值对数组 
   */ 
   Object.entries(object)

以数组键值对形式返回对象可枚举的属性和属性值


 /* 
   /   @param Object object   要被冻结的对象 
   /   @return Object object   被冻结的对象 
   */ 
   Object.freeze(object)

冻结对象,使对象和对象的原型都无法修改



 /* 
 / @param  iterable   iterableObj 可迭代对象【Array,Map】 
 / @return  Object object  返回对象 
  */ 
  Object.fromEntries(iterableObj);

将可迭代对象的键值对转换成对象



 /* 
 /  @param Object object      对象 
 /  @param String  property   自有属性 
 /  @return Object  PropertyDescriptor   属性描述符 
 */ 
 Object.getOwnPropertyDescriptor(object, property)

返回对象指定的自有属性的属性描述符


 /* 
 /  @param Object object      对象 
 /  @return Object  PropertyDescriptors   属性描述符 
 */ 
 Object.getOwnPropertyDescriptors(object)

返回对象全部自有属性的属性描述符


 /* 
 /  @param Object object      对象 
 /  @return Array  PropertyNames   对象属性名 
 */ 
 Object.getOwnPropertyNames(object)

数组形式返回对象全部属性的名称(包含可枚举和不可枚举)



 /* 
 /  @param Object object      对象 
 /  @return Array  SymbolsNames   Symbol名 
 */ 
 Object.getOwnPropertySymbols(object)

数组形式返回对象自身的Symbol 属性



 /* 
 /   @param Object  object 
 /   @return  Object/Null  proto  原型 
 */ 
 Object.getPrototypeOf(object)

返回对象的原型



 /* 
 /   @param any  value1 
 /   @param any  value2 
 /   @return  Boolean  true/false 
 */ 
 Object.is(value1,value2)

判断两个值是不是同一个值


 /* 
 /   @param object  object 
 /   @return  Boolean  true/false 
 */ 
 Object.isFrozen(object)

判断一个对象是否被冻结



 /* 
 /   @param Object  object 
 /   @return  Array  property 
 */ 
 Object.keys(object)

数组形式返回对象自身可枚举属性


 /* 
 /   @param  String/Symbol  property 
 /   @return  Boolean  true/false 
 */ 
 Object.hasOwnProperty(property)

判断对象是否有指定的属性


 /* 
 /   @param  Object  object 
 /   @return  Array   array 返回属性值构成的数组 
 */ 
 Object.values(object)

数组形式返回对象自身可枚举的属性值



知识共享许可协议本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。作者:柴宏俊»