ESLintのルールobject-shorthandについてドキュメントを読んだだけだとちょっと分からなかったので、纏めてみた。
ルールの書き方
特筆すべきところはないが一応。。。
object-shorthand:
- 2
- "always"
最初の引数は共通の設定
0... エラー/警告にしない
1... 警告にする
2... エラーにする
オプションについて
こっちが本題。
第二引数には4つのオプションをとる。
methods, properties, always, never。
"methods"
functionを使った記法を許可しない。
以下の記法はエラー/警告になる
let foo = {
bar: function(){
return true;
}
};
なので、functionを省略した記法で書く
let foo = {
bar(){
return true;
}
};
"properties"
ES2015ではキーと変数名が同一の場合、
省略した書き方ができるため以下の書き方の場合エラー/警告となる
let foo = {
x: x
};
以下のように省略した記法を使う
let foo = {
x
};
"always"
上記2つのmethods,properties両方をチェックし、可能な限り省略記法を使うようにする
"never"
いずれの省略記法も使わない。省略記法を記述した場合はエラー/警告となる。
ちなみにarrow functionを使った場合はどちらの対象ともならない
let foo = {
bar: () => true
};