Rule: object-literal-key-quotes
Enforces consistent object literal property quote style.
Object literal property names can be defined in two ways: using literals or using strings. For example, these two objects are equivalent:
var object1 = { property: true };
var object2 = { “property”: true };
In many cases, it doesn’t matter if you choose to use an identifier instead of a string or vice-versa. Even so, you might decide to enforce a consistent style in your code.
This rules lets you enforce consistent quoting of property names. Either they should always be quoted (default behavior) or quoted only as needed (“as-needed”).
Notes:
Has Fixer
Config
Possible settings are:
"always": Property names should always be quoted. (This is the default.)"as-needed": Only property names which require quotes may be quoted (e.g. those with spaces in them)."consistent": Property names should either all be quoted or unquoted."consistent-as-needed": If any property name requires quotes, then all properties must be quoted. Otherwise, no property names may be quoted.
For ES6, computed property names ({[name]: value}) and methods ({foo() {}}) never need
to be quoted.
Config examples
"object-literal-key-quotes": [true, "as-needed"]
"object-literal-key-quotes": [true, "always"]
Schema
{
"type": "string",
"enum": [
"always",
"as-needed",
"consistent",
"consistent-as-needed"
]
}