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

  • 相关阅读:
    pgspider sqlite mysql docker 镜像
    pgspider docker 镜像
    pgspider基于pg 的高性能数据可视化sql 集群引擎
    diesel rust orm 框架试用
    golang 条件编译
    Performance Profiling Zeebe
    bazel 学习一 简单java 项目运行
    一个好用node http keeplive agnet
    gox 简单灵活的golang 跨平台编译工具
    mailhog 作为smtp server mock工具
  • 原文地址:https://www.cnblogs.com/zhangxin123/p/9376885.html
Copyright © 2011-2022 走看看