有谁知道 TypeScript 中 String
和 string
之间的区别?我是否正确假设它们应该是相同的?
var a: String = "test";
var b: string = "another test";
a = b;
b = a; // this gives a compiler error!
当前版本的编译器说:
Type 'String' is not assignable to type 'string'.
'string' is a primitive, but 'String' is a wrapper object.
Prefer using 'string' when possible.
那是一个错误吗?
原文由 Paul0515 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个显示差异的示例,这将有助于解释。
String
是 JavaScript 字符串类型, 可 用于创建新字符串。没有人这样做,因为在 JavaScript 中文字被认为更好,所以s2
在上面的示例中创建了一个新字符串,而不使用new
关键字并且没有明确使用String
对象。string
是TypeScript字符串类型,可以用来输入变量、参数和返回值。补充说明…
目前(2013 年 2 月)
s1
和s2
都是有效的 JavaScript。s3
是有效的 TypeScript。使用
String
。您可能永远不需要使用它,字符串文字被普遍认为是初始化字符串的正确方法。在 JavaScript 中,使用对象字面量和数组字面量也被认为更好:如果你真的喜欢字符串,你可以在 TypeScript 中以两种方式之一使用它……