• 装饰器Decorator的需要注意的地方


    装饰器(Decorator) es7 语法

    底层原理(是什么):其实质是个函数,主要用来装饰变量,是(Object.defineProperty)的语法糖,有利于理解React中双向数据绑定的原理。


    Object.defineProperty(target, prop, desc): 给对象添加或修改属性的
    属性值:

      target 需要定义属性的当前对象
      prop 当前需要定义的属性名 类型:字符
      desc 属性描述符 类型:对象
        value: 默认值 undefined
        writable: 是否修改 类型:布尔 false
        configrable 可否删除|重新定义 类型:布尔 false
        enumerable 可否枚举 类型:布尔 false
        get 当访问属性时触发该方法getter,默认为undefined
        set 当属性被修改时触发该方法setter 属性劫持,默认为undefined

    注意:get/set 和value/writable 是互斥的。

    设置|添加 对象属性
    1. {属性:value} 对象.属性|对象['属性'] 默认可以修改,可以删除,可以枚举的
    2. Object.defineProperty() 默认 不可以修改,不可以删除,不可以枚举的

    function 装饰器名 (target,prop,descriptor){
      descriptor.writable=false;//writable属性是否可以写入
      return descriptor;
    }

    如何实现(怎么用):

    @装饰器名 类
    @装饰器名 类的实例属性|静态属性
    @装饰器名 类的实例方法|静态方法

    使用场景(用在哪)
    mobx / angluarTs

    参考: https://segmentfault.com/a/1190000019446677?utm_source=tag-newest

  • 相关阅读:
    mysqlbinlog
    MySQL二进制日志
    Slave I/O: Got fatal error 1236
    Zabbix监控nginx-rtmp status(json版)
    shell命令find
    Zabbix监控mysql performance
    Zabbix监控disk performance
    MySQL复制配置(多主一从)
    数据建立和保持时间
    Source insight 中 标题栏路径显示完整路径的方法
  • 原文地址:https://www.cnblogs.com/Scooby/p/11989563.html
Copyright © 2020-2023  润新知