Microsoft/TypeScript
Missing error if ClassDeclaration is used in Statement position
开放
#22,682 创建于 2018年3月18日
BugDomain: ParserEffort: CasualHelp Wanted
仓库指标
- 星标
- (108,860 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
TypeScript Version: 2.8.0-dev.20180318
Search Terms: class statement
Code
let codition = false as boolean;
if (condition)
class C {} // runtime error if transpiled to ES2015 or above: Unexpected token class
if (condition)
enum E { Foo } // should probably be an error?
new C(); // runtime error if transpiled to ES5, because 'C' is undefined
E.Foo; // runtime error: cannot read property 'Foo' of 'E'
Expected behavior:
Expected a compile error on class C and maybe on enum E
Actual behavior: no error for these declarations, instead I get a runtime error when targeting ES2015 or above.
Playground Link:
Related Issues: