js中的class

  1. 类写法

    class SuperClass {
    constructor(option) {
    this.a = option;
    } fn() {
    console.log(this.b);
    } static staticMethod() {
    console.log("静态方法只能通过类调用")
    } set sa(value){
    this.a = value;
    } get sa() {
    return this.a;
    }
    } class SubClass extends SuperClass {
    constructor(option) {
    super(option.a); // 调用父类的构造函数
    this.b = option.b
    }
    } const sub = new SubClass({a: "aaa", b: "bbb"});
    sub.sa = "aa"
    console.log(sub.sa); // aa
    sub.fn(); // bbb
    SubClass.staticMethod(); // 静态方法只能通过类调用
  2. 处理private数据

    方式一:使用Symbols
    symbol是唯一的并且是不可变的数据类型
    class Demo {
    constructor(option) {
    const key = Symbol("key");
    this[key] = option;
    this.fn = () => {
    console.log(this[key])
    }
    }
    } const demo = new Demo("aaa");
    console.log(demo[Symbol("key")]); // undefined
    demo.fn(); // aaa 方式二:使用WeakMaps
    WeakMaps键名是弱引用类型,键值可以是任意类型
    如果键没有被其他强类型引用,会自动被垃圾回收掉
    const key = new WeakMap();
    class Demo {
    constructor(option) {
    key.set(this, option);
    this.fn = () => {
    console.log(key.get(this))
    }
    }
    }
    const demo = new Demo("aaa");
    console.log(key.get[demo]); // undefined
    demo.fn(); // aaa

最新文章

  1. JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享(你值得拥有)
  2. 任务型sql
  3. hdu-4452-Running Rabbits
  4. JAVA 显示图片的简单源码 分类: Java Game 2014-08-14 10:10 77人阅读 评论(0) 收藏
  5. Spring的lazy-init详解
  6. SqlTransaction的解析
  7. mysql grant 示例
  8. PHP使用curl伪造IP地址和header信息
  9. 【ASP.NET Web API教程】2 创建各种Web API
  10. win10 uwp 弹起键盘不隐藏界面元素
  11. JS监听对象属性改变
  12. php使用fastdfs
  13. 【译】第8节---EF Code First中配置类
  14. MDK5 and STM32Cube
  15. css限制显示字数,文字长度超出部分用省略号表示【转】
  16. C++头文件的工作原理
  17. [原创]nginx添加module之threads
  18. IO测试工具之fio详解(转)
  19. iOS状态栏详解(隐藏)
  20. Python 实现图片上表格的写入

热门文章

  1. H5测试
  2. 八 web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用
  3. serialVersionUID 作用
  4. 18-THREE.JS 基本材质
  5. C/C++开发android应用
  6. 【zzulioj-1676】与同学比身高(综合)
  7. Git的origin和master分析
  8. dojo chart生成函数
  9. 在C / C ++中清除输入缓冲区
  10. MFC中控制Tips的显示 - lingyun1120