什么是TypeScript等同于ParentClass.this

时间:2019-04-25 06:40:56

标签: java typescript

来自下面的Java代码。什么是@generated

的TypeScript等效项
@generated function fgenerated(u, functions::Tuple{Vararg{Function}})
    expr = :(ret = zeros(eltype(u), size(u)))
    for fun in functions.parameters
        expr = :($expr; ret .+= $(fun.instance)(u))
    end
    return expr
end

我的目标是在回调函数内部访问父变量。

1 个答案:

答案 0 :(得分:1)

在打字稿/ JavaScript中没有这样的概念。实际上,您不能仅在一个类(即嵌套类)中定义一个类,以上语法不是有效的打字稿。

您可以获得的最接近方法是使用声明合并来合并名称空间和类,以在父类作用域中获取嵌套类,并在父类实例中进行传递:

class ParentClass {
    a = 1;
    childClass: ParentClass.ChildrenClass;
    constructor() {
        this.childClass = new ParentClass.ChildrenClass(this);
    }
}
namespace ParentClass {
    export class ChildrenClass {
        constructor(private parentClassThis: ParentClass){}
        b = 2;
        run(): void {
            this.b = this.parentClassThis.a;
        }
    }
}