在不添加链接的情况下,我想不允许在没有任何类型批注或初始化式的情况下使用let x;
.如果它有一个初始值设定项,那很好,类型脚本将从初始值设定项中推断类型.但没有一套,x
的类型是any
-即使有noImplicitAny
套,这让我很惊讶.
就这样.
// This is fine, type is inferred from initializer:
let a = 42;
// Also fine, type is provided explicitly:
let b: string;
// Should be an error:
let x;
// ^? let x: any
Here's a playground link和启用了noImplicitAny
的代码(以及strict
,尽管我不认为这与此相关),这表明它不执行此判断.x
上没有错误.我可以给它赋任何我想要的值,它的类型是any
.
我有没有遗漏打字脚本配置选项或选项组合?
注:我意识到,在没有分配到某个值之前,将任何值设置为use x
都是错误的.问题是x
拥有类型any
,让它处于开放状态,可以为其分配任何内容.