TS中的String " vs char ',为啥这又是一个问题
Posted
技术标签:
【中文标题】TS中的String " vs char \',为啥这又是一个问题【英文标题】:String " vs char ' in TS, why is this an Issue againTS中的String " vs char ',为什么这又是一个问题 【发布时间】:2020-05-21 23:00:29 【问题描述】:我的背景是 30 多年,我习惯使用 " 表示字符串,使用 ' 表示字符,这对我来说很自然。
我没有参与关于 " vs ' 的 php 战争,所以,不要 提出这个问题。
我正在使用 Typescript,并且 TS lint 坚持使用 ' 而不是 ",当然,我可以将其关闭,但也许 TS 编译有原因?除了我的同事 env 之外,它会导致问题吗? TSLint 为什么坚持?
【问题讨论】:
Typescript 中没有char
类型;双引号或单引号都定义了一个字符串文字,因为这就是它在 javascript 中的工作方式。
没关系,你可以在你的 tslint config 上配置。只需定义一个标准并坚持下去。
TSLint(顺便说一句,它已被弃用)被配置以坚持基于设置它的人的选择。你应该遵守团队的标准。
如果您将其设置为在保存时自动修复这些内容,那么您输入哪一种肌肉记忆并不重要。
【参考方案1】:
这是指 TSLint quotemark
规则。您可以在 tslint.json
中对其进行配置,以选择您喜欢的引用样式。
使用一种引用样式而不是另一种引用样式并没有真正的语言级别的好处,但是在您的项目中使用一个一致的选择对于保持一致的样式非常有用。
顺便说一句,TSLint is deprecated,从长远来看,使用 typescript-eslint 使用 ESLint 对 TypeScript 代码进行 lint 会更好。
【讨论】:
以上是关于TS中的String " vs char ',为啥这又是一个问题的主要内容,如果未能解决你的问题,请参考以下文章
VS错误C++:不存在从 "WCHAR [260]" 转换到 "std::basic_string<char," 的适当构造函数
用vs2010编译cegui时,CEGUICoronaImageCodec项出错
VS2017中遇到不存在从string到const char*的转换函数的解决方法
vs2017中char* str = "1234asd56";会报错,——const char*类型的值不能用于初始化char*类型的实体