【问题标题】:tslint: benefit of "object-literal-shorthand"tslint:“object-literal-shorthand”的好处
【发布时间】:2019-12-30 10:07:13
【问题描述】:

此规则的示例:

    this.http.post(this.apiUrl + "screenshot", {
        url: url,
        ratio: ratio
    }).subscribe(res => {
        console.log(res);
    });

tslint 会抱怨这段代码。 tslint 希望我这样做的方式是

    this.http.post(this.apiUrl + "screenshot", {
        url,
        ratio
    }).subscribe(res => {
        console.log(res);
    });

对我来说,第一个 sn-p 安排得更好。我禁用了相应的规则,但现在我想知道在性能或其他方面使用“object-literal-shorthand”是否有任何好处。

我认为这会变得非常混乱,特别是如果文字较大并且与无法使用速记的变量混合时。那么这个规则的原因是什么,我不明白。

【问题讨论】:

  • 没有性能优势。两者是严格等价的。我猜该规则允许 1. 让您了解这种速记语法 2. 通过鼓励您使用这种速记语法来促进命名的一致性:当我看到 { firstName: first_name, date: time, url: URL } 时我讨厌它。

标签: angular typescript tslint


【解决方案1】:

这是 tslint 中的可修复规则之一。

https://palantir.github.io/tslint/usage/cli/

当你运行时:

tslint --fix

它将重写代码以使用文字语法。

在性能方面使用“object-literal-shorthand”的好处

该规则是更短代码片段规则集合的一部分,有助于减少代码行数。

那么这条规则的原因是什么,我不明白。

tslint 中的可修复规则旨在协助代码共享。您可以添加 Git 挂钩或构建阶段,它们会自动为您运行 tslint --fix。

使用显示 tslint 警告的现代 IDE 的人并没有真正从可修复功能中受益。 IDE 会在你编写它时让你修复它。

如果您不想打开,请关闭它。

【讨论】:

    猜你喜欢
    • 2019-12-29
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 2016-06-18
    相关资源
    最近更新 更多