array-element-newline
多くのスタイルガイドでは、配列要素間の改行を必須または禁止しています。
ルール詳細
このルールは、配列要素間の改行を強制します。
オプション
このルールには、文字列オプションがあります。
"always"
(デフォルト) は、配列要素間に改行を必須とします。"never"
は、配列要素間の改行を禁止します。"consistent"
は、配列要素間の改行の使用方法の一貫性を求めます。
または、オブジェクトオプションを使用できます(いずれかのプロパティが満たされている場合、改行を必須とします。そうでない場合は、改行を禁止します)
"multiline": <boolean>
要素内に改行がある場合、改行を必須とします。false の場合は、この条件は無効になります。"minItems": <number>
要素数が指定された整数以上の場合、改行を必須とします。0 の場合は、"always"
オプションと同じ動作になります。null
(デフォルト) の場合は、この条件は無効になります。
あるいは、配列式と配列パターンのそれぞれに異なる設定を指定できます。
{
"array-element-newline": ["error", {
"ArrayExpression": "consistent",
"ArrayPattern": { "minItems": 3 },
}]
}
"ArrayExpression"
配列式の設定 (指定しない場合、このルールは配列式に適用されません)"ArrayPattern"
デストラクチャリング代入の配列パターンの設定 (指定しない場合、このルールは配列パターンに適用されません)
always
デフォルトの "always"
オプションを使用したこのルールの **不正な** コードの例
/*eslint @stylistic/array-element-newline: ["error", "always"]*/
var c = [1, 2];
var d = [1, 2, 3];
var e = [1, 2, 3
];
var f = [
1, 2, 3
];
var g = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}
];
デフォルトの "always"
オプションを使用したこのルールの **正しい** コードの例
/*eslint @stylistic/array-element-newline: ["error", "always"]*/
var a = [];
var b = [1];
var c = [1,
2];
var d = [1,
2,
3];
var d = [
1,
2,
3
];
var e = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
never
"never"
オプションを使用したこのルールの **不正な** コードの例
/*eslint @stylistic/array-element-newline: ["error", "never"]*/
var c = [
1,
2
];
var d = [
1,
2,
3
];
var e = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
"never"
オプションを使用したこのルールの **正しい** コードの例
/*eslint @stylistic/array-element-newline: ["error", "never"]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1, 2, 3];
var e = [
1, 2, 3];
var f = [
1, 2, 3
];
var g = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}
];
consistent
"consistent"
オプションを使用したこのルールの **不正な** コードの例
/*eslint @stylistic/array-element-newline: ["error", "consistent"]*/
var a = [
1, 2,
3
];
var b = [
function foo() {
dosomething();
}, function bar() {
dosomething();
},
function baz() {
dosomething();
}
];
"consistent"
オプションを使用したこのルールの **正しい** コードの例
/*eslint @stylistic/array-element-newline: ["error", "consistent"]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1, 2, 3];
var e = [
1,
2
];
var f = [
1,
2,
3
];
var g = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}, function baz() {
dosomething();
}
];
var h = [
function foo() {
dosomething();
},
function bar() {
dosomething();
},
function baz() {
dosomething();
}
];
multiline
{ "multiline": true }
オプションを使用したこのルールの **不正な** コードの例
/*eslint @stylistic/array-element-newline: ["error", { "multiline": true }]*/
var d = [1,
2, 3];
var e = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}
];
{ "multiline": true }
オプションを使用したこのルールの **正しい** コードの例
/*eslint @stylistic/array-element-newline: ["error", { "multiline": true }]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1, 2, 3];
var e = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
minItems
{ "minItems": 3 }
オプションを使用したこのルールの **不正な** コードの例
/*eslint @stylistic/array-element-newline: ["error", { "minItems": 3 }]*/
var c = [1,
2];
var d = [1, 2, 3];
var e = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
{ "minItems": 3 }
オプションを使用したこのルールの **正しい** コードの例
/*eslint @stylistic/array-element-newline: ["error", { "minItems": 3 }]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1,
2,
3];
var e = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}
];
multiline と minItems
{ "multiline": true, "minItems": 3 }
オプションを使用したこのルールの **不正な** コードの例
/*eslint @stylistic/array-element-newline: ["error", { "multiline": true, "minItems": 3 }]*/
var c = [1,
2];
var d = [1, 2, 3];
var e = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}
];
{ "multiline": true, "minItems": 3 }
オプションを使用したこのルールの **正しい** コードの例
/*eslint @stylistic/array-element-newline: ["error", { "multiline": true, "minItems": 3 }]*/
var a = [];
var b = [1];
var c = [1, 2];
var d = [1,
2,
3];
var e = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
ArrayExpression と ArrayPattern
{ "ArrayExpression": "always", "ArrayPattern": "never" }
オプションを使用したこのルールの **不正な** コードの例
/*eslint @stylistic/array-element-newline: ["error", { "ArrayExpression": "always", "ArrayPattern": "never" }]*/
var a = [1, 2];
var b = [1, 2, 3];
var c = [
function foo() {
dosomething();
}, function bar() {
dosomething();
}
];
var [d,
e] = arr;
var [f,
g,
h] = arr;
var [i = function foo() {
dosomething()
},
j = function bar() {
dosomething()
}] = arr
{ "ArrayExpression": "always", "ArrayPattern": "never" }
オプションを使用したこのルールの **正しい** コードの例
/*eslint @stylistic/array-element-newline: ["error", { "ArrayExpression": "always", "ArrayPattern": "never" }]*/
var a = [1,
2];
var b = [1,
2,
3];
var c = [
function foo() {
dosomething();
},
function bar() {
dosomething();
}
];
var [d, e] = arr
var [f, g, h] = arr
var [i = function foo() {
dosomething()
}, j = function bar() {
dosomething()
}] = arr
使用しない場合
配列要素間の改行を強制しない場合は、このルールを有効にしないでください。
互換性
- **JSCS:** validateNewlineAfterArrayElements