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

  • 相关阅读:
    ubuntu 18.04 修改 固定ip
    java 加载properties
    Free 4 months Serial License Key Of Outpost Security Suite Pro 8.1
    免费申请一年版Eset NOD32 Antivirus激活码(无限制)- 已失效
    微软软件运行库下载
    Bitdefender Total Security 2014 Free 6 Months & 12 month License Key
    如何将Virtualbox和VMware虚拟机相互转换[译文211]
    Virtualbox安装Windows 8.1遇到0x000000C4错误解决办法
    VirtualBox 4.3“不能为虚拟电脑 打开一个新任务”解决方案
    docx文件怎样打开
  • 原文地址:https://www.cnblogs.com/guofan/p/13892323.html
Copyright © 2011-2022 走看看