首页 > 其他分享 >Object.defineProperty用法

Object.defineProperty用法

时间:2023-10-21 12:23:29浏览次数:35  
标签:false Object value 用法 defineProperty true 属性

1、能干啥?

Object.defineProperty()可以给传入的对象动态的添加或修改属性

2、怎么玩?

Object.defineProperty(obj,prop,desc)它有三个参数:

  • obj:需要定义属性的当前对象

  • prop:当前需要定义的属性名;注意是string类型

  • desc:属性描述符;注意是object类型

desc常用的属性:

  • value: 设置属性的值
  • writable: 值是否可以重写。true | false,默认false
  • enumerable: 目标属性是否可以被枚举。true | false,默认为false
  • configurable: 目标属性是否可以被删除或是否可以再次修改特性 true | false,默认为false
  • set(): 目标属性设置值的方法
  • get():目标属性获取值的方法

注意:当使用了getter或setter方法,不允许使用writable和value这两个属性

let number = 20;
            let person = {
                name: 'ly',
            };
            Object.defineProperty(
                person, // 操作的对象
                'age', // 属性名
                {
                    // value: 19, // 属性值
                    // enumerable: true, // 控制属性是否可以枚举(遍历),默认为fasle
                    // writable: true, // 控制属性是否可以被修改,默认为false
                    // configurable: true, // 控制属性是否可以删除,默认为false
                    get() {
                        console.log('获取值');
                        return 20;
                    },
                    set(value) {
                        console.log('设置值');
                        number = value;
                    },
                }
            );
            console.log(person);

标签:false,Object,value,用法,defineProperty,true,属性
From: https://www.cnblogs.com/ybbit/p/17778758.html

相关文章

  • 统计学Pearson,Kendall和Spearman 用法及公式。
    假设存在X1,X2,X3,…,Xn.n组对比参数,则有以下信息: I:KL散度、JS散度以及交叉熵对比1) Kl-div(KL散度):1、简介KL散度(Kullback–Leiblerdivergence)又称KL距离,相对熵。(数值归一化处理)当P(x)和Q(x)的相似度越高,KL散度越小。KL散度主要有两个性质:(1)不对称性尽管KL散......
  • MySQL CASE()用法
    MySQL中的CASE表达式用于根据条件进行条件判断和返回多个可能的值。它允许在查询中执行简单的逻辑判断,并根据不同的条件返回不同的值或执行不同的操作。CASE表达式有两种形式:简单CASE和搜索CASE。简单CASE形式:CASEexpressionWHENvalue1THENresult1WHE......
  • MySQL IF()用法
    MySQL中的IF函数用于根据条件返回两个值中的一个。它可以应用于复杂查询和更新语句中,以便根据条件动态生成值。IF函数的语法如下:IF(condition,value_if_true,value_if_false)其中,condition是一个布尔表达式或一个返回布尔值的函数,value_if_true是条件为TRUE时返回......
  • Mysql FIND_IN_SET()用法
    MySQL中的FIND_IN_SET函数用于在逗号分隔的字符串列表中查找指定字符串的位置。它接受两个参数:要查找的字符串和逗号分隔的字符串列表。语法如下:FIND_IN_SET(string,string_list)其中,string是要查找的字符串,string_list是逗号分隔的字符串列表。返回值为待查找字符串......
  • 什么是线程池,线程池的状态,线程池的用法示例
    线程池(ThreadPool)是一种用于管理和重复使用线程的并发编程机制。它是一种有效的方式来管理线程的生命周期、控制并发任务的执行,以及减少线程创建和销毁的开销。线程池在多线程应用程序中被广泛使用,因为它可以提高性能、资源利用率和响应速度。线程池通常包含以下主要组件:工作......
  • Go笔记(1)-变量的详细用法
    变量(1)变量的定义Go语言是静态类型的语言,所有类型都需要明确的定义。var是声明变量的关键字使用格式:var变量名变量类型变量命名规范:遵循驼峰格式,首个单词小写,每个新单词的首字母大写varnameString="WY"//var创建String类型的变量namename="JB"......
  • 02Object概述
    Object类Object类是:超类、基类,所有类的直接或者间接父类,位于继承树的最顶层。任何类,如果没有书写extends显示继承某个类,都默认直接直接继承Object类,否则为间接继承。Object类中所定义的方法,是所有对象都具备的方法。Object类可以存储任何对象。作为参数,可接受任何对象。作......
  • makefile中.PHNOY的用法
    makefile中PHONY的重要性     伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行所在规则定义的命令,有时也可以将一个伪目标称为标签。伪目标通过  PHONY来指明。   PHONY定义伪目标的命令一定会被执行,下面尝试分析这种优点的......
  • postgresql【JSONB用法】
    //userNametypecode是我拿到数据结构出来的可以写固定值来测试;code字段为上面设置的唯一约束。如果code值没有变就是修改,否则就是新增INSERTINTO表名(username,type,code)VALUES('${userName}','${type}','${code}')ONCONFLICT9.6语法支持(code)DOUPDATE......
  • RestTemplate 用法总结
    一、RestTemplate是什么?   如果某个服务想获取其他服务的数据的时候,一般会用到RestTemplate,这是一种HTTP请求调用的工具二、如何使用?   通常情况下,服务与服务之间数据的获取并不是一次性的,所以我们把这个RestTemplate注入容器中,这样我们每次使用直接调用即可。@Co......