ESLint -- 强制在对象字面量的键和值之间使用一致的空格 (key-spacing)
详细讲解请看key-spacing
配置文件代码:
// enforces spacing between keys and values in object literal properties
'key-spacing': ['error', { beforeColon: false, //冒号之前不能有空格
afterColon: true //冒号之后有空格
}],
Airbnb要求:冒号之前不能有空格,冒号之后要有空格,且只能有一个空格
Options
该规则有一个对象选项:
"beforeColon": false (默认) 禁止在对象字面量的键和值之间存在空格
- "beforeColon": true 要求在对象字面量的键和值之间存在至少有一个空格
"afterColon": true (默认) 要求在对象字面量的冒号和值之间存在至少有一个空格
- "afterColon": false 禁止在对象字面量的冒号和值之间存在空格
"mode": strict (默认) 要求在冒号前后只有一个空格
- "mode": minimum 要求在冒号前后最少有一个空格
- "align": "value" 要求对象字面量中的值水平对齐
- "align": "colon" 要求对象字面量中的冒号和值都水平对齐
- "align" 允许细粒度的控制对象字面量值的间距直到对齐
- "singleLine" 为单行对象字面量指定一个空格风格
- "multiLine" 为多行对象字面量指定一个空格风格
请注意,你可以使用顶级选项或分组选项(singleLine 和 multiLine),但不能同时使用两者。
代码演示:
beforeColon
默认选项 { "beforeColon": false } 的 错误 代码示例:
/*eslint key-spacing: ["error", { "beforeColon": false }]*/
var obj = { "foo" : 42 };
默认选项 { "beforeColon": false } 的 正确 代码示例:
/*eslint key-spacing: ["error", { "beforeColon": false }]*/
var obj = { "foo": 42 };
afterColon
默认选项 { "afterColon": true } 的 错误 代码示例:
/*eslint key-spacing: ["error", { "afterColon": true }]*/
var obj = { "foo":42 };
默认选项 { "afterColon": true } 的 正确 代码示例:
/*eslint key-spacing: ["error", { "afterColon": true }]*/
var obj = { "foo": 42 };
mode
默认选项 { "mode": "strict" } 的 错误 代码示例:
/*eslint key-spacing: ["error", { "mode": "strict" }]*/
call({
foobar: 42,
bat: 2 * 2
});
默认选项 { "mode": "strict" } 的 正确 代码示例:
/*eslint key-spacing: ["error", { "mode": "strict" }]*/
call({
foobar: 42,
bat: 2 * 2
});