Eslint
规则 | Rules

newline-per-chained-call

每次在方法链中调用一个换行符(换行符)

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

在没有换行符的情况下在单行上调用链接方法会更难以阅读,因此一些开发人员在链中的每个方法调用之后放置一个换行符,以使其更易读并易于维护。

让我们看看下面完全有效的(但单行)代码。

d3.select("body").selectAll("p").data([4, 8, 15, 16, 23, 42 ]).enter().append("p").text(function(d) { return "I'm number " + d + "!"; }

但是,通过适当的新行,它很容易阅读和理解。每次通话后,请看下面用同样的代码写下换行符。

d3 .select("body") .selectAll("p") .data([ 4, 8, 15, 16, 23, 42 ]) .enter() .append("p") .text(function (d) { return "I'm number " + d + "!"; }

支持这种风格的另一个理由是,当方法链中的某些内容发生更改时,它可以提高差异的清晰度:

不太清楚:

-d3.select("body").selectAll("p").style("color", "white" +d3.select("body").selectAll("p").style("color", "blue"

更清晰:

d3 .select("body") .selectAll("p") - .style("color", "white" + .style("color", "blue"

规则细节

此规则在每次调用方法链或深入成员访问后都需要换行符。计算的属性访问例如instance[something]被排除。

选项

该规则有一个对象选项:

  • "ignoreChainWithDepth"(默认值2:)允许链条达到指定的深度.ignoreChainWithDepth 此规则的错误代码示例使用默认{ "ignoreChainWithDepth": 2 }选项:/ * eslint newline-per-chained-call:[“error”,{“ignoreChainWithDepth”:2}] * /