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

  • 相关阅读:
    python 包与模块
    互斥锁与自旋锁
    TCP三次握手四次挥手
    缓存击穿、缓存穿透、缓存雪崩
    五种IO模型
    MySQL使用mysqldump进行数据备份
    golang数据库连接池参数设置
    golang代码文件目录组织、包目录组织学习笔记
    【转】如何用Vim提高开发效率
    emacs显示行号
  • 原文地址:https://www.cnblogs.com/zhangxin123/p/9376885.html
Copyright © 2011-2022 走看看