V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rikka
V2EX  ›  TypeScript

吐槽下 typescript 的 mixin

  •  
  •   rikka · 2020-08-04 17:45:58 +08:00 · 2052 次点击
    这是一个创建于 1332 天前的主题,其中的信息可能已经有所发展或是发生改变。

    A,B 俩类需要有个共同的方法,我自然就写了个父类给他们继承,写完测试 OK

    紧接着我想这里意思表达不太对,不应该用继承的思想,应该用 mixin 思想才准确一点,那我写个装饰器来把共同的方法 mixin 进去也简单

    function mixins (...objects) {
      return function (target) {
        Object.assign(target.prototype, ...objects)
      }
    }
    
    @mixins(obj)
    class A {}
    

    然后就是类型提示的问题一堆报红,我又不想用 any 头疼死我了,但这还不是关键,关键是这么做是无法推导出被 mixin 进去的方法

    最后看了官网的介绍 https://www.typescriptlang.org/docs/handbook/mixins.html

    这写法还是麻烦了点,看起来不够优雅,没有装饰器那么直观

    最终决定不折腾不蛋疼,代码改回去了😔

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1332 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 17:44 · PVG 01:44 · LAX 10:44 · JFK 13:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.