Typescript类:为什么要编译?

时间:2017-07-08 16:59:34

标签: typescript

我想写一个这样的课:

class Foo {
    public someProp = '123';
}

但我输错了并写了这个:

class Foo{
    public someProp: '123'; // not "="
}

我希望得到编译错误但没有任何反应。为什么会这样?

1 个答案:

答案 0 :(得分:4)

因为当您需要在字段中列出允许的值时,TypeScript支持将constatnts作为类型。这不是一个bug。这是特色。 :)

var x: '123';
var y: '123' | '456';

x = '123';
x = '456'; // Error
x = '789'; // Error

y = '123';
y = '456';
y = '789'; // Error

请参阅TypeScript Playground