JS Object.defineProperties()方法

描述:

Object.defineProperties()方法为目标对象同时配置多个属性。

语法:

Object.defineProperties(obj, props)

参数:

参数 描述
obj 目标对象。
props 包含一个或多个属性配置对象的对象。

props对象每个属性的配置对象包含以下几个属性:

  • configurable : 是否可以删除目标属性或是否可以再次配置属性的特性。设置为true表示可以被删除或可以重新设置特性;设置为false,不能被可以被删除或不可以重新设置特性。默认为false。
  • enumerable : 属性是否可枚举。设置为true可以被枚举;反之,不能被枚举。默认为false。
  • value : 属性对应的值。
  • writable : 属性的值是否可以被重写,设置为true表示可重写,反之,不可重写。默认为true
  • get : 读取属性时调用的函数。默认为undefined。
  • set : 设置属性时调用的函数。默认为undefined。

返回值:

配置后的目标对象。

例1:

const obj = {};

Object.defineProperties(obj, {
prop1: {
value: 'JavaScript',
writable: true
},
prop2: {
value: 'ECMAScript',
writable: false
},
});
obj.prop1 = obj.prop2 = 'TypeScript';
console.info(obj.prop1); // TypeScript
console.info(obj.prop2); // ECMAScript

转载至EC前端 - JS Object.defineProperties()方法

JS Object.defineProperties()方法的更多相关文章

  1. Object.defineProperties()和Object.defineProperty()方法

    Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象. 语法:Object.defineProperty(obj, pro ...

  2. Object.defineProperties()与Proxy对象代理

    Object.defineProperties() 了不起啊..vue.js通过它实现双向绑定的 Object.defineProperties(obj,props) 方法直接在一个对象上定义新的属性 ...

  3. js中Object.defineProperties 定义一个在原对象可读可写的方法

    function A(){ this.name = 'hellow word'; } Object.defineProperties( A.prototype,{ doSomething2 : { v ...

  4. JS 中 原生方法 (四) --- Object

    Javascript 中 str. arr.date.obj 等常见的原生方法总结 本文也说主要阐释了 Javascript 中的基础类型和 引用类型的自带方法,那么熟悉的同学又可以绕道了 总是绕道, ...

  5. JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法)

    JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法) 一丶正则的用法 创建正则对象: 方式一: var reg=new ...

  6. 解决webpack和gulp打包js时ES6转译ES5时Object.assign()方法没转译成功的问题

    在webpack或gulp打包的配置文件中package.json 引入"@babel/plugin-transform-object-assign": "^7.2.0& ...

  7. 分享一个Object.defineProperties 定义一个在原对象可读可写的方法

    function A(){ this.name = 'hellow word'; } Object.defineProperties( A.prototype,{ doSomething2 : { v ...

  8. js中Object.defineProperty()方法的解释

    菜菜: “老大,那个, Object.defineProperty 是什么鬼?” 假设我们有个对象 user ; 我们要给它增加一个属性 name , 我们会这么做 1 2 3 var user = ...

  9. js object(对象)

    http://www.cnblogs.com/pingchuanxin/p/5773326.html Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象 ...

随机推荐

  1. 啊哈算法第四章第二节解救小哈Java实现

    package corejava; public class FourTwo { static int m;//(m,n)为几行几列 static int n; static int p;//(p,q ...

  2. github PageHelper使用PageInfo数据错乱问题

    如果出现了数据错乱,检查一下代码是否正确 PageHelper.start(1,10); List<MyEntity> lists = mapper.query(); PageInfo&l ...

  3. C#调用C++的DLL 尝试写入受保护的内存

    原因:C#中的声明函数的参数类型与C++的函数的参数类型不一致,在参照C#与C++的参数类型对照表以后,修改相应参数类型,问题解决

  4. MySql:SELECT 语句(四)通配符的使用

    1. LIKE 操作符 要在搜索子句中使用通配符,必须要使用 LIKE 操作符. 1)百分号通配符 最常用的通配符是百分号(%). % 表示任何字符出现的任意次数.但是 NULL 除外.可以匹配 0 ...

  5. 逆变(contravariant)与协变(covariant):只能用在接口和委托上面

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. Windows终端工具_MobaXterm

    前言 有人喜欢小而美的工具,有人喜欢大集成工具.这里推荐一款增强型的Windows终端工具MobaXterm,它提供所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH ..... ...

  7. LevelDB源码分析-Bloom Filter

    Bloom Filter bloom filter是leveldb中用来在一个block中检测key是否存在的工具,主要在BloomFilterPolicy类中实现: class BloomFilte ...

  8. linux 之用户管理

    用户的家目录 普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700 超级用户:/root/,所有者和所属组都是root用户,权限是550 用户邮箱目录 /var/spool/mail ...

  9. VS2015环境下的提示语法错误:编号的预期结尾后有多余文本(extra text after expected end of number)

    当工程中有扩展CListCtrl的类代码,并且有自绘单元格的操作, ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnNMCustomdraw) 编辑器语法智能提示就会对这个宏定义 ...

  10. 关于创建String对象过程的内存分配

    String是引用数据类型 但是String实际上java给我们提供的是一个类 注意:String 全类被fianl所修饰 所以 String 又叫 字符串常量 String 的值 一旦定义 不可以改 ...