zoukankan      html  css  js  c++  java
  • Object 构造函数的方法

    1、Object.assign(target, source, ?...source)

      target: 目标对象

      source: 来源对象(可多个)

      通过复制一个或多个对象来创建一个新的对象。

        可以发现,该方法直接作用于目标对象,属性及值更新成了源对象的属性及值。

    2、Object.create(o, ?properties)

      o: 对象的原型对象

      properties: 值的属性

      使用指定的原型对象和属性创建一个新对象。

      aa 继承了 a

     

      追加了个 age 属性,值是 'b'

      注:对象属性

    3、Object.defineProperty(o, prototypeKey, attributes)

      o: 目标对象

      prototypeKey: 属性名

      attributes: 用于要描述该属性的属性配置

      给对象添加一个属性并指定该属性的配置。

      这里给 空对象 a 一个 name 属性,且赋值为 'a',同时不可写,这样后面的 a.name 赋值则不会成功~

    4、Object.defineProperties(o, properties)

      o: 目标对象

      properties: 多个描述属性的属性配置

      给对象添加多个属性并分别指定它们的配置。

       相当于可以批量添加对象属性

    5、Object.entries(o)

      o: 目标对象

      返回给定对象自身可枚举属性的 [key, value] 数组。

    6、Object.freeze(o)

      o: 目标对象

      冻结对象:其他代码不能删除或更改任何属性。

       啥都不能动,只能看着

    7、Object.getOwnPropertyDescriptor(o, propertyKey)

      o: 目标对象

      propertyKey: 属性名

      返回对象指定的属性配置。

    8、Object.getOwnPropertyNames(o)

      o: 目标对象

      返回一个数组,它包含了指定对象所有的可枚举或不可枚举的属性名。

      只含字符串属性

    9、Object.getOwnPropertySymbols(o)

      o: 目标对象

      返回一个数组,它包含了指定对象自身所有的符号属性。

      因为所有的对象在初始化的时候不会包含任何的 Symbol,除非你在对象上赋值了 Symbol 否则Object.getOwnPropertySymbols()只会返回一个空的数组。

    10、Object.getPrototypeOf(o)

      o: 目标对象

      返回指定对象的原型对象。

    11、Object.is(value1, value2)

      value1、value2: 要比较的2个值

      比较两个值是否相同。所有 NaN 值都相等(这与==和===不同)。

       同时要注意

     12、Object.isExtensible(o)

      o: 目标对象

      判断对象是否可扩展。

       默认情况下,对象是可扩展的:即可以为他们添加新的属性。以及它们的 __proto__ 属性可以被更改。

      Object.preventExtensionsObject.seal 或 Object.freeze 方法都可以标记一个对象为不可扩展(non-extensible)

    13、Object.isFrozen(o)

      o: 目标对象

      判断对象是否已经冻结。

    14、Object.isSealed(o)

      o: 目标对象

      判断对象是否已经密封。

      如果这个对象是密封的,则返回 true,否则返回 false。密封对象是指那些不可 扩展 的,且所有自身属性都不可配置且因此不可删除(但不一定是不可写)的对象。

    15、Object.keys()

      返回一个包含所有给定对象自身可枚举属性名称的数组。

    16、Object.preventExtensions(o)

      o: 目标对象

      防止对象的任何扩展。

      仅阻止添加自身的属性。但其对象类型的原型依然可以添加新的属性。

    17、Object.seal(o)

      o: 目标对象

      防止其他代码删除对象的属性。

      密封一个对象会让这个对象变的不能添加新属性,且所有已有属性会变的不可配置。属性不可配置的效果就是属性变的不可删除,以及一个数据属性不能被重新定义成为访问器属性,或者反之。但属性的值仍然可以修改。

    18、Object.setPrototypeOf(o, prototype)

      o: 目标对象

      prototype: 要继承的新原型

      设置对象的原型(即内部 [[Prototype]] 属性)。

    19、Object.values(o)

      o: 目标对象

      返回给定对象自身可枚举值的数组。

      source: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object

  • 相关阅读:
    智器SmartQ T7实体店试用体验
    BI笔记之SSAS库Process的几种方案
    PowerTip of the Day from powershell.com上周汇总(八)
    PowerTip of the Day2010071420100716 summary
    PowerTip of the Day from powershell.com上周汇总(十)
    PowerTip of the Day from powershell.com上周汇总(六)
    重新整理Cellset转Datatable
    自动加密web.config配置节批处理
    与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable
    在VS2003中以ClassLibrary工程的方式管理Web工程.
  • 原文地址:https://www.cnblogs.com/guofan/p/13892323.html
Copyright © 2011-2022 走看看