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