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. Flask 里的WEB表单应用

    它是HTML页面中负责数据采集的部件.表单有三个部分组成:表单标签.表单域.表单按钮.表单允许用户输入数据,负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器. 创建模板文件 login. ...

  2. Python第9天

    迭代器(减少代码量增强可读性)和生成器(只能遍历一次):遵循迭代器协议,就是生成可迭代对象 生产者和消费者模型:可触发生成器运行的方法 直接调用next方法 用系统next+生成器的方法 send y ...

  3. Python学习随笔(1)--可视化工具plotly使用

    把数据库某列数据取出来,然后再在本地生成html文件形成可视化视图显示 #!/usr/bin/python# coding=utf-8 import pymysqlimport plotly.plot ...

  4. Spring中利用applicationContext.xml文件实例化对象和调用方法

    Spring中实例化对象和调用方法入门 1.jar包和xml的准备 已上传至百度云盘,链接: https://pan.baidu.com/s/1CY0xQq3GLK06iX7tVLnp3Q 提取码: ...

  5. js数值大小判断的错误

    1.js中定义一个变量i,判断i的取值在[1,3]中的错误写法 if(1<= i <= 3) 假设js的值为4,浏览器在解析js时会先将1与4比较 ,显然1<= 4,返回结果为1,然 ...

  6. maven+springMVC+mybatis+sqlserver数据

    因为之前搭好的是maven+springMVC+mybatis+mysql数据库环境,但是在实际工作项目是使用的sqlserver数据库,本文是针对数据库从mysql切换到sqlserver数据库 s ...

  7. spring boot常用注解小计

    @Async 需要执行异步方法时,在方法上加上@Async之后,底层使用多线程技术 .启动类上需要加上 @EnableAsync 注意:异步执行方法,不能与引用方法同在一个类里 @Transactio ...

  8. pyton 模块之 pysmb 文件上传(windows)

    #!/usr/bin/env python #coding:utf-8 from smb.SMBConnection import SMBConnection from nmb.NetBIOS imp ...

  9. python入门(十六):正则

    1.正则:对一些字符串实现模糊的匹配 使用场景: 爬虫:例如,网页源码里面的url都提取出来.网页里面提取我们想要的数据 分析日志:例如,拿到所有的ip,看看哪些ip访问过我的网站 2.引入包 > ...

  10. <a>超链接用作下载

    在a标签里添加  download=""  ,“ ”里面的内容可随意写,比如文件名. <a href="/download/武林秘籍.pdf" downl ...