Posted at

ESLint object-shorthandまとめ

More than 3 years have passed since last update.

ESLintのルールobject-shorthandについてドキュメントを読んだだけだとちょっと分からなかったので、纏めてみた。

http://eslint.org/docs/rules/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
};