object-curly-spacing
強制執行大括號內的一致間距
🔧 可修正
此規則報告的某些問題可以透過 --fix
命令列 選項自動修正
雖然格式偏好非常個人化,但許多樣式指南要求或禁止在以下情況下使用大括號之間的空格
// 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 };
規則詳情
此規則強制執行物件字面量、解構賦值和 import/export 規範符的大括號內的一致間距。
選項
此規則有兩個選項:字串選項和物件選項。
字串選項
"never"
(預設) 禁止大括號內有空格"always"
要求大括號內有空格 ({}
除外)
物件選項
"arraysInObjects": true
要求以陣列元素開始和/或結束的物件的大括號內有空格 (當第一個選項設定為never
時適用)"arraysInObjects": false
禁止以陣列元素開始和/或結束的物件的大括號內有空格 (當第一個選項設定為always
時適用)"objectsInObjects": true
要求以物件元素開始和/或結束的物件的大括號內有空格 (當第一個選項設定為never
時適用)"objectsInObjects": false
禁止以物件元素開始和/或結束的物件的大括號內有空格 (當第一個選項設定為always
時適用)
never
使用預設 "never"
選項時,此規則的錯誤程式碼範例
在 Playground 中開啟
/*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"
選項時,此規則的正確程式碼範例
在 Playground 中開啟
/*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"
選項時,此規則的錯誤程式碼範例
在 Playground 中開啟
/*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"
選項時,此規則的正確程式碼範例
在 Playground 中開啟
/*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 }
選項時,此規則的其他正確程式碼範例
在 Playground 中開啟
/*eslint object-curly-spacing: ["error", "never", { "arraysInObjects": true }]*/
var obj = {"foo": [ 1, 2 ] };
var obj = {"foo": [ "baz", "bar" ] };
使用 "always", { "arraysInObjects": false }
選項時,此規則的其他正確程式碼範例
在 Playground 中開啟
/*eslint object-curly-spacing: ["error", "always", { "arraysInObjects": false }]*/
var obj = { "foo": [ 1, 2 ]};
var obj = { "foo": [ "baz", "bar" ]};
objectsInObjects
使用 "never", { "objectsInObjects": true }
選項時,此規則的其他正確程式碼範例
在 Playground 中開啟
/*eslint object-curly-spacing: ["error", "never", { "objectsInObjects": true }]*/
var obj = {"foo": {"baz": 1, "bar": 2} };
使用 "always", { "objectsInObjects": false }
選項時,此規則的其他正確程式碼範例
在 Playground 中開啟
/*eslint object-curly-spacing: ["error", "always", { "objectsInObjects": false }]*/
var obj = { "foo": { "baz": 1, "bar": 2 }};
何時不該使用
如果您不關心大括號之間間距的一致性,則可以關閉此規則。
相關規則
版本
此規則在 ESLint v0.22.0 中引入。