你应该在 TS 中为字符串使用单引号还是双引号

你应该在 TS 中为字符串使用单引号还是双引号

Should you use Single or Double quotes for Strings in TS

对于是否应该为 TypeScript 字符串使用单引号或双引号,没有官方标准。

我从事的大多数项目都使用单引号,除非必须转义字符串中的单引号字符,在这种情况下使用双引号。

索引.ts
// 👇️ default const str1 = 'single quotes'; // 👇️ when string contains single quote const str2 = "It's him"; const person = 'Bobby Hadz'; // 👇️ backticks when interpolating variables const str3 = `hello ${person}`;

该示例演示了我何时会在 TypeScript 字符串中使用单引号和双引号。

我使用过的大多数代码库的默认设置是坚持使用单引号,除非字符串包含单引号。

交替引号比用反斜杠转义引号更好

如果字符串包含单引号,将其用双引号括起来比使用反斜杠字符转义引号要容易得多/

索引.ts
const str1 = "It's him"; const str2 = 'It\'s him'; const str3 = `It's him` // 👈️ can also use backticks

第一个字符串更容易阅读。

第三个例子使用反引号“。但是当我在字符串中插入一个变量或者当我有一个多行字符串时,我主要使用反引号。

TypeScript 贡献者指南

应该注意的是,有些人链接到
TypeScript 贡献者指南,其中对字符串使用双引号。

这是他们在 TypeScript 的代码库中使用的,而不是他们建议您在项目中使用的。

这是他们的偏好,因为他们团队使用的其他一些语言要求字符串使用双引号,而且大多数编程语言都允许字符串使用双引号。

因此,他们更容易保持一致,而不是要求人们根据编程语言在单引号和双引号之间切换。

为什么我更喜欢使用单引号

我更喜欢单引号的主要原因是——我不必shift在每次声明字符串时都使用键。

由于大多数字符串不包含单引号,因此我不必经常使用双引号。

对于多行字符串,我使用反引号。

索引.ts
// 👇️ (better) const longString = ` roses are red, violets are blue `; // 👇️ (hard to read) const longString2 = 'roses are red\nviolets are blue';

第一个示例使用
模板文字,比第二个更容易阅读。

有些人更喜欢对字符串使用双引号,因为 JSON 只使用双引号。

我发现自己手动编写 JSON 不像我发现自己声明字符串那样频繁,所以这不适用于我。

When I see a string wrapped in single quotes, I know that the string doesn’t contain any escape sequences or interpolated variables.

I also find it much easier to look at empty strings that were declared using
single quotes.

index.ts
const str1 = ''; const str2 = "";

Maybe I’ve gotten used to seeing single quoted strings over the years, but the
second string from the example looks busy and unnecessary.

# Additional Resources

You can learn more about the related topics by checking out the following
tutorials: