Eslint参考手册
规则 | Rules
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中引入。
资源
- Rule source
- Documentation source
规则 | Rules相关
ESLint 是一个代码规范和错误检查工具,有以下几个特性。所有东西都是可以插拔的。你可以调用任意的 rule api 或者 formatter api 去打包或者定义 rule or formatter。任意的 rule 都是独立的。没有特定的 coding style,你可以自己配置。
主页 | https://eslint.org/ |
源码 | https://github.com/eslint/eslint |
发布版本 | 4.12.0 |