美文网首页
TypeScript装饰器与原型链

TypeScript装饰器与原型链

作者: Collie | 来源:发表于2020-07-21 11:10 被阅读0次

    TypeScript中的装饰器&元数据反射:从新手到专家II
    TypeScript中的装饰器&元数据反射:从新手到专家3
    TypeScript中的装饰器&元数据反射:从新手到专家四
    一文读懂JS中类、原型和继承
    https://blog.csdn.net/ZZB_Bin/article/details/103168609#__decorate_773

    • 类装饰器实例
    /**
     * @return ClassDecorator类型的函数
     */
    function decorator(): ClassDecorator
    {
        return <T extends Function>(target: T): T | void =>
        {
            console.debug("decorator");
            const f: any = function (...args: any[])
            {
                console.debug(args);
                //在这里添加自定义行为
            };
            f.prototype = target.prototype;
            f.prototype.a = 1;
            console.debug("target.prototype" + target.prototype.a);
            return f;
        }
    }
    
    /**
     * TypeScript方法装饰器
     * https://blog.fedepot.com/typescriptzhuang-shi-qi/
     */
    
    @decorator()
    class Test
    {
        constructor(...args: any[])
        {
            console.info(args + "什么破玩意儿");
        }
    }
    
    let test: any = new Test(1, 2, 3); //这里是any是为了越过TypeScript的类型检查
    console.debug(test.a);
    
    export {}
    

    相关文章

      网友评论

          本文标题:TypeScript装饰器与原型链

          本文链接:https://www.haomeiwen.com/subject/jrxikktx.html