【发布时间】:2021-12-21 10:29:19
【问题描述】:
有人知道 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.
这是一个错误吗?
【问题讨论】:
-
我认为“这是一个错误”确实是一个很好的哲学问题。它可能是“有意的”,但它会造成混乱和编译错误。我认为这至少是个问题。
-
简单的区别是这些 [String 和 string ] 的类型不同,因此一个不能分配给另一个。 typeof(String) 是 Object 这就是为什么我们可以使用 new String('...') 而 typeof(string) 不是 object。
标签: typescript