为什么tsc
不会抱怨这行代码:
let a: 'my text string';
并允许a
的类型为'my text string'
?
并且......如果,让我们说有人利用隐式类型推断,并且只是放置':
'而不是'='
?!
答案 0 :(得分:1)
这是一个文字类型。文档is here。一个例子:
type Color = 'blue' | 'red'
function showColor(c: Color) {
console.log(c)
}
showColor('blue') // OK
showColor('other') // Error
注意:自TypeScript 2.0以来,文字类型为expanded to numbers and booleans(不仅仅是字符串)。然后,使用TypeScript 2.1,文字类型are better inferred。
而且......如果让某人利用隐式类型推断,只是放一个
':
'而不是'='
,那么这不容易出错吗?!
在TypeScript中,需要发现:
。以下代码:
let a: 'my text string';
...编译为(此处为目标ES6):
let a;