我正在研究TypeScript和C#中的代码约定,我们已经计算出在C#中使用string.Empty
代替""
的规则。
C#示例:
doAction("");
doAction(string.Empty); // we chose to use this as a convention.
打字稿:
// only way to do it that I know of.
doAction("");
现在我的问题是,是否有办法在TypeScript中保持此规则的一致性,或者这种语言是否具体?
你们是否有指针如何在TypeScript中定义一个空字符串?
答案 0 :(得分:5)
如果您真的想这样做,可以编写代码来执行此操作:
interface StringConstructor {
Empty: string;
}
String.Empty = "";
function test(x: string) {
}
test(String.Empty);
如您所见,传递String.Empty
或""
只会有所不同。
答案 1 :(得分:2)
有String
类型,其定义位于lib.d.ts
(还有其他地方定义此库)。它提供了String
上常用的类型成员定义,如fromCharCode
。您可以使用empty
在新引用的打字稿文件中扩展此类型。
<强> StringExtensions.ts 强>
declare const String: StringExtensions;
interface StringExtensions extends StringConstructor {
empty: '';
}
String.empty = '';
然后称之为
<强> otherFile.ts 强>
doAction(String.Empty); // notice the capital S for String
答案 2 :(得分:1)
string.Empty特定于.NET(感谢 @Servy )
没有其他方法可以创建一个空字符串而不是""
确实还有其他方法,比如new String()
或''
,但你应该关心new String()
,因为它不返回字符串原语,而是一个String对象,它在比较时是不同的(如此处所述:https://stackoverflow.com/a/9946836/6754146)