object-curly-spacing
强制在花括号内使用一致的空格
🔧 可修复
此规则报告的一些问题可以通过 --fix
命令行 选项自动修复。
此规则在 ESLint v8.53.0 中已 **弃用**。请使用 相应的规则 在 @stylistic/eslint-plugin-js
中。
虽然格式化偏好非常个人化,但许多风格指南要求或禁止在以下情况下在花括号之间使用空格。
// simple object literals
var obj = { foo: "bar" };
// nested object literals
var obj = { foo: { zoo: "bar" } };
// destructuring assignment (EcmaScript 6)
var { x, y } = y;
// import/export declarations (EcmaScript 6)
import { foo } from "bar";
export { foo };
规则详情
此规则强制在对象字面量、解构赋值和导入/导出说明符的花括号内使用一致的空格。
选项
此规则有两个选项,一个字符串选项和一个对象选项。
字符串选项
"never"
(默认)禁止在花括号内使用空格。"always"
要求在花括号内使用空格(除了{}
)。
对象选项
"arraysInObjects": true
要求在以数组元素开头和/或结尾的对象的花括号内使用空格(当第一个选项设置为never
时适用)。"arraysInObjects": false
禁止在以数组元素开头和/或结尾的对象的花括号内使用空格(当第一个选项设置为always
时适用)。"objectsInObjects": true
要求在以对象元素开头和/或结尾的对象的花括号内使用空格(当第一个选项设置为never
时适用)。"objectsInObjects": false
禁止在以对象元素开头和/或结尾的对象的花括号内使用空格(当第一个选项设置为always
时适用)。
never
使用默认的 "never"
选项时,此规则的 **错误** 代码示例。
在游乐场中打开
/*eslint object-curly-spacing: ["error", "never"]*/
var obj = {'foo': 'bar'};
var obj = {'foo': 'bar'};
var obj = {baz: {'foo': 'qux'}, bar};
var obj = {baz: {'foo': 'qux'}, bar};
var {x} = y;
import { foo} from 'bar';
使用默认的 "never"
选项时,此规则的 **正确** 代码示例。
在游乐场中打开
/*eslint object-curly-spacing: ["error", "never"]*/
var obj = {'foo': 'bar'};
var obj = {'foo': {'bar': 'baz'}, 'qux': 'quxx'};
var obj = {
'foo': 'bar'
};
var obj = {'foo': 'bar'
};
var obj = {
'foo':'bar'};
var obj = {};
var {x} = y;
import {foo} from 'bar';
always
使用 "always"
选项时,此规则的 **错误** 代码示例。
在游乐场中打开
/*eslint object-curly-spacing: ["error", "always"]*/
var obj = 'foo': 'bar';
var obj = 'foo': 'bar' };
var obj = { baz: 'foo': 'qux', bar;
var obj = baz: { 'foo': 'qux' }, bar;
var obj = 'foo': 'bar'
};
var obj = {
'foo':'bar';
var x = y;
import foo } from 'bar';
使用 "always"
选项时,此规则的 **正确** 代码示例。
在游乐场中打开
/*eslint object-curly-spacing: ["error", "always"]*/
var obj = {};
var obj = { 'foo': 'bar' };
var obj = { 'foo': { 'bar': 'baz' }, 'qux': 'quxx' };
var obj = {
'foo': 'bar'
};
var { x } = y;
import { foo } from 'bar';
arraysInObjects
使用 "never", { "arraysInObjects": true }
选项时,此规则的其他 **正确** 代码示例。
在游乐场中打开
/*eslint object-curly-spacing: ["error", "never", { "arraysInObjects": true }]*/
var obj = {"foo": [ 1, 2 ] };
var obj = {"foo": [ "baz", "bar" ] };
使用 "always", { "arraysInObjects": false }
选项时,此规则的其他 **正确** 代码示例。
在游乐场中打开
/*eslint object-curly-spacing: ["error", "always", { "arraysInObjects": false }]*/
var obj = { "foo": [ 1, 2 ]};
var obj = { "foo": [ "baz", "bar" ]};
objectsInObjects
使用 "never", { "objectsInObjects": true }
选项时,此规则的其他 **正确** 代码示例。
在游乐场中打开
/*eslint object-curly-spacing: ["error", "never", { "objectsInObjects": true }]*/
var obj = {"foo": {"baz": 1, "bar": 2} };
使用 "always", { "objectsInObjects": false }
选项时,此规则的其他 **正确** 代码示例。
在游乐场中打开
/*eslint object-curly-spacing: ["error", "always", { "objectsInObjects": false }]*/
var obj = { "foo": { "baz": 1, "bar": 2 }};
何时不使用它
如果您不关心花括号之间空格的一致性,则可以关闭此规则。
相关规则
版本
此规则在 ESLint v0.22.0 中引入。