zoukankan      html  css  js  c++  java
  • 理解JavaScript中的属性描述符

    我们把描述JavaScript中定义内部特性的属性叫做属性描述符

    分为两大类:数据描述符和存取描述符

    数据描述符是一个拥有可写或不可写的属性(Writable);

    存取描述符不包含数据值,是一组拥有getter和setter属性的描述符;

    描述符必须是这两者之一,不可能都是这两者;

    数据描述符合存取描述符都具有以下的可选键值:

    configurable这个指的是描述,当属性的configurable的值为true的时候,该属性的描述符才可以改变,同时该属性可以从对象上被删除,默认值是false

    enumerable这个指的是枚举,当属性的enumerable的值为true的时候,该属性才能出现在对象的枚举属性中,默认也为false。

    数据描述符具有以下的可选键值;

    value:该属性对应的值,可以是任何有效的js值(数值,对象,函数····),默认是undefined;
    writable:当且仅当writable的值为true的时候,value的值才能被赋值运算符所改变,默认值是false;

    存取描述符具有以下的可选键值;
    get:一个给属性提供getter的方法,如果没有getter则为undefined,当访问该属性的时候,该方法会被执行,方法执行的时候没有参数传入(括号中没有内容),但是会传入this对象(由于继承关系,这里的this并不一定是定义该属性的对象)默认值是undefined
    set:一个给属性提供setter的方法,如果没有setter则为undefined 当属性值被修改的时候,该方法会被触发,该方法接受唯一的参数就是属性的新的参数值 默认是undefined
    https://www.jianshu.com/p/19529527df80

  • 相关阅读:
    力扣第945题 使数组唯一的最小增量
    力扣第365题 水壶问题
    力扣面试题40 最小的k个数
    力扣第409题 最长回文串
    力扣第46题 全排列
    力扣第1160题 拼写单词
    力扣面试题01.06 字符串压缩
    力扣第695题 岛屿的最大面积
    树莓派 鼠标自动消失
    树莓派 VNC 远程桌面 同一个桌面
  • 原文地址:https://www.cnblogs.com/zhangxin123/p/9376885.html
Copyright © 2011-2022 走看看