是否有计划将Protected添加到打字稿

时间:2014-02-03 08:09:46

标签: typescript protected

是否有计划将Protected修饰符添加到打字稿? 如果没有Protected,在没有将var / function暴露给外部类的情况下,继承无法正常工作。

3 个答案:

答案 0 :(得分:2)

protected支持您可以遵循的具体请求是here

正如你所看到的,它获得了很多选票。但是,TypeScript遵循ECMAScript的新提案/版本的设计,而不是在大多数情况下自己创新。由于protected是ECMAScript / JavaScript支持的一种方式,我不希望它很快就会出现。许多开发人员已经建立了编码约定,并使用public来处理protected可能更有意义的情况。

答案 1 :(得分:0)

此处有一项功能请求:http://typescript.codeplex.com/workitem/1413

所以,如果你投票,它可能有帮助:) 所以我认为它目前不在路线图上,而只是一个建议。

答案 2 :(得分:0)

TypeScript版本1.3可用,并包含protected关键字。

View the release notes for the protected keyword

class A {
    protected x: string = 'a';
}

class B extends A {
    method() {
        return this.x;
    }
}

var b = new B();

// Not allowed by compiler
console.log(b.x);

// Allowed
console.log(b.method());

请记住,如果您忽略此示例中为b.x显示的编译器警告,则编译的代码确实会记录受保护成员的值。这是因为它是一个编译时构造而不是运行时构造(即没有什么可以阻止您在运行时访问privateprotected成员。