Eslint
规则 | Rules

computed-property-spacing

禁止或强制执行计算属性内的空间(computed-property-spacing)

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

虽然格式化首选项非常个人化,但在以下情况下,一些样式指南会要求或不允许计算属性之间的空格:

/*eslint-env es6*/ var obj = { prop: "value" }; var a = "prop"; var x = obj[a]; // computed property in object member expression var a = "prop"; var obj = { [a]: "value" // computed property key in object literal (ECMAScript 6) };

规则细节

规则在计算的属性括号内强制执行一致的间距。

它要求或不允许括号和括号内的空格。此规则不适用于通过换行符与相邻值分隔的括号。

选项

规则有一个字符串选项:

  • "never" (默认)不允许计算属性括号内的空格

  • "always" 计算属性括号内需要一个或多个空格

never

"never"规则的默认代码错误代码示例"never"

/*eslint computed-property-spacing: ["error", "never"]*/ /*eslint-env es6*/ obj[foo ] obj[ 'foo'] var x = {[ b ]: a} obj[foo[ bar ]]

具有默认选项的"never"规则的正确代码示例:

/*eslint computed-property-spacing: ["error", "never"]*/ /*eslint-env es6*/ obj[foo] obj['foo'] var x = {[b]: a} obj[foo[bar]]

always

"always"规则的错误代码示例包含以下选项:

/*eslint computed-property-spacing: ["error", "always"]*/ /*eslint-env es6*/ obj[foo] var x = {[b]: a} obj[ foo] obj['foo' ] obj[foo[ bar ]] var x = {[ b]: a}

"always"规则的正确代码示例包含以下选项:

/*eslint computed-property-spacing: ["error", "always"]*/ /*eslint-env es6*/ obj[ foo ] obj[ 'foo' ] var x = {[ b ]: a} obj[ foo[ bar ] ]

何时不使用它

如果您不关心计算属性的一致性,则可以关闭此规则。

相关规则

  • array-bracket-spacing

  • comma-spacing

  • space-in-parens

版本

规则在ESLint 0.23.0中引入。

资源