If you're looking for the specifications, check them out on this link
Section 2.2.2 gives you all the details
The PropertyName production from the ECMAScript grammar is displayed below:
PropertyName: LiteralPropertyName ComputedPropertyName
LiteralPropertyName: IdentifierName StringLiteral
NumericLiteral
ComputedPropertyName: [ AssignmentExpression ]
A property name can be an identifier (even a reserved word), a string literal, a numeric literal, or a computed property name. String literals are useful for naming properties with spaces. Numeric literal property names are like string literals with a number as the representation.
This also covers string literals.
To declare a property as a string literal:
class MyClass {
"name" = "John";
}
You can access it using square brackets
let myObj = new MyClass()
let nameValue = myObj["name"]