我是TypeScript的新手,试图玩它。但我面临着一个有线问题。当我尝试使用String
运算符连接两个+
类型时,它会给出错误
运算符'+'无法应用于类型'String'和'String'
我的代码快照是
var firstName: String = 'Foo';
var lastName: String = 'Bar';
var name = firstName + lastName;
如果我使用string
代替String
或添加额外''
,则可以正常使用。我检查过,在JavaScript中,我们可以在两个+
对象上使用String
,那么为什么它在TypeScript中显示错误?是bug还是功能?我肯定错过了什么。细节解释赞赏。
答案 0 :(得分:20)
String
与string
不同。始终使用string
,除非您真的,真的知道自己在做什么。
大写名称String
指的是原始字符串的盒装版本。通常应尽可能避免这些问题 - 它们不会以微妙和意想不到的方式表现得像普通string
(例如typeof new String('hello')
是"object"
,而不是"string"
)。