我在我的应用程序中注意到 TsLint 建议:
static $inject = [
'$http',
'$q',
'$scope',
'configService',
'stateService',
'utilityService'
];
对于上述情况:
Message 2 TsLint: ' should be "
这是 Typescript 现在的建议标准吗?
"quotemark": [true, "double"]
'
通常可以包含在常见的文本输出中(通常远远超过 "
),因此最好使用双引号 ""
。它也与其他将 '
用于单个字符的类 C 语言更加一致。 话虽如此,但这并不重要 - 经验法则 - 使用项目中已有的内容并对此保持一致。其中一种意识形态也是使用 { 4} 用于文本输出,'
用于“编程”字符串,如常量值
这是我在谷歌搜索的第一个结果:“双引号与单引号打字稿”。
考虑到接受的答案有点旧(但从文档中仍然有效),我想添加以下引用:https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines 于 2015 年 11 月 27 日更新:
对字符串使用双引号。
当然,“代码更像是你所说的‘指导方针’,而不是实际规则。” :)
我会用单引号。我非常同意this guy:
除非转义,否则首选单引号 (')。原因:更多的 JavaScript 团队这样做(例如,airbnb、standard、npm、node、google/angular、facebook/react)。它更容易打字(大多数键盘不需要移位)。 Prettier 团队推荐 - 单引号和双引号
此外,即使是 dotnet new
模板也对 Angular 应用程序使用单引号。
对字符使用单引号,对字符串使用双引号没有特定的标准,但建议对字符串使用双引号,反之亦然。
从 docs:
就像 JavaScript 一样,TypeScript 也使用双引号 (") 或单引号 (') 来包围字符串数据。
prettier
和 vscode
自动将它们修复为双引号以获得更好的 JSON 兼容性。
@crowebird 链接的编码标准文档是一个很好的文档:https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines
我喜欢除了双引号之外的所有指南——在使用带有 Angular 2 的打字稿时。
这个问题与 Angular 2 的 Typescript 无关,但读者可能是 Angular 2 用户。在打字稿中标记 html 字符串时,使用单引号更容易阅读。
举个例子:
@Component({
...,
template: '<div class="some-class-name"></div>'
})
但是,如果您使用双引号,则必须转义双引号:
@Component({
...,
template: "<div class=\"some-class-name\"></div>"
})
第一个选项更可取。大多数 Angular 2 演示使用单引号。
template strings
``` 的 html 代码
既然似乎没有硬性和快速的答案,那么跨语言的一致性是什么?
Bash/Powershell/Ruby: " 启用插值和转义序列。' 表示字符串与输入的完全相同。
C 风格的语言(Java、C#、C++ 等):" 是字符串,而 ' 表示单个字符。
Python/Javascript:没有区别。如果一个字符串需要包含 ",你可以用 ' 来分隔它,反之亦然。
JSON:仅限双引号。这是倾斜的论点。
跨语言,单引号意味着缺少转义序列和插值。
Typescript 对 ` (反引号)字符串具有向后兼容性,因此我的偏好是对非转义字符串使用 " (双引号),通常没有空格并使用以下字符集:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-
或 [\w\d-]*
在许多正则表达式方言中。这意味着您可以将 Pasta 对象文字复制到 JSON 中,反之亦然。在实践中对于很少的调查、测试等非常有用。
对于其他所有内容,`(反引号)因为它减少了转义序列并启用了插值。
注意:我不是 JSON 的拥护者,现在看来它是不可避免的 ;)
如果您要嵌入模板字符串,则反引号:
`
直接来自here
const lyrics = 'Never gonna give you up';
const html = `<div>${lyrics}</div>`;
我个人更喜欢单引号,因为 ''
与 ""
在处理空字符串常量时对眼球的混淆程度稍低。
但如果您需要嵌入单引号,则可以覆盖该规则。使用双引号来包装事物以避免逃避头痛。
灵活性是关键。
找到您的 tslint.json 文件并更改以下 json 设置
"quotemark": [
[
true,
"double"
],
[
true,
"single"
]
],
这允许在您的 ts 文件中使用单引号和双引号。
使用 Visual Studio 时,可能需要重新启动 Visual Studio。