From 90158b0471ded28551177e888a977fc681ed87b7 Mon Sep 17 00:00:00 2001 From: ark120202 Date: Tue, 8 Oct 2019 19:09:30 +0000 Subject: [PATCH] Docs: Add `enforceForClassMembers` option to `no-useless-computed-key` --- docs/rules/no-useless-computed-key.md | 33 ++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/docs/rules/no-useless-computed-key.md b/docs/rules/no-useless-computed-key.md index e73129fcc3d7..cde504c47b21 100644 --- a/docs/rules/no-useless-computed-key.md +++ b/docs/rules/no-useless-computed-key.md @@ -1,4 +1,4 @@ -# Disallow unnecessary computed property keys on objects (no-useless-computed-key) +# Disallow unnecessary computed property keys (no-useless-computed-key) It's unnecessary to use computed properties with literals such as: @@ -16,8 +16,6 @@ var foo = {"a": "b"}; This rule disallows unnecessary usage of computed property keys. -## Examples - Examples of **incorrect** code for this rule: ```js @@ -43,6 +41,35 @@ var c = { a: 0 }; var c = { '0+1,234': 0 }; ``` +## Options + +This rule has an object option: + +* `enforceForClassMembers` set to `true` additionally applies this rule to class members (Default `false`). + +### enforceForClassMembers + +By default, this rule does not check class declarations and class expressions, +as the default value for `enforceForClassMembers` is `false`. + +When `enforceForClassMembers` is set to `true`, the rule will also disallow unnecessary computed +keys inside of class methods, getters and setters. + +Examples of **incorrect** code for `{ "enforceForClassMembers": true }`: + +```js +/*eslint no-useless-computed-key: ["error", { "enforceForClassMembers": true }]*/ + +class Foo { + [0]() {} + ['a']() {} + get ['b']() {} + set ['c']() {} + + static ['a']() {} +} +``` + ## When Not To Use It If you don't want to be notified about unnecessary computed property keys, you can safely disable this rule.