noDuplicateObjectKeys
此内容尚不支持你的语言。
Diagnostic Category: lint/suspicious/noDuplicateObjectKeys
Since: v1.0.0
Sources:
- Same as:
no-dupe-keys
Disallow two keys with the same name inside objects.
If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored, which is likely a mistake.
Examples
Section titled ExamplesInvalid
Section titled Invalidcode-block.js:2:5 lint/suspicious/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ This property value named a is later overwritten by an object member with the same name.
1 │ const obj = {
> 2 │ a: 1,
│ ^^^^
3 │ a: 2,
4 │ }
ℹ Overwritten with this value.
1 │ const obj = {
2 │ a: 1,
> 3 │ a: 2,
│ ^^^^
4 │ }
5 │
ℹ If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored.
ℹ Unsafe fix: Remove this property value named a
1 1 │ const obj = {
2 │ - ···→ a:·1,
3 2 │ a: 2,
4 3 │ }
code-block.js:2:5 lint/suspicious/noDuplicateObjectKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ This setter named a is later overwritten by an object member with the same name.
1 │ const obj = {
> 2 │ set a(v) {},
│ ^^^^^^^^^^^
3 │ a: 2,
4 │ }
ℹ Overwritten with this value.
1 │ const obj = {
2 │ set a(v) {},
> 3 │ a: 2,
│ ^^^^
4 │ }
5 │
ℹ If an object property with the same name is defined multiple times (except when combining a getter with a setter), only the last definition makes it into the object and previous definitions are ignored.
ℹ Unsafe fix: Remove this setter named a
1 1 │ const obj = {
2 │ - ···→ set·a(v)·{},
3 2 │ a: 2,
4 3 │ }
Valid
Section titled ValidRelated links
Section titled Related linksSince: v1.0.0
Disallow two keys with the same name inside objects.
Examples
Section titled ExamplesInvalid
Section titled Invalidcode-block.json:2:3 lint/suspicious/noDuplicateObjectKeys ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The key title was already declared.
1 │ {
> 2 │ “title”: “New title”,
│ ^^^^^^^
3 │ “title”: “Second title”
4 │ }
ℹ This where a duplicated key was declared again.
1 │ {
2 │ “title”: “New title”,
> 3 │ “title”: “Second title”
│ ^^^^^^^
4 │ }
5 │
ℹ If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.