typescript - Vad är standarden eller bästa praxis när det gäller citattecken på JavaScript-nycklar?
Jag har gått igenom flera frågor som denna för att se om det finns en standardpraxis/bästa praxis för om man ska sätta citattecken kring nycklar i JavaScript eller JSX eller TSX. Jag har dock inte hittat något och skulle vilja veta (innan jag bygger ett stort projekt på dåliga metoder) vilket som är bäst mellan:
obj = {'foo': 'bar'}
och
obj = {foo: 'bar'}
Eller ännu bättre, finns det något dokument jag kan hänvisa till för detta?
Svar #1
kolla in Airbnb JavaScript Style Guide. Den har en standarduppsättning riktlinjer och bästa praxis.
- 3.6 Citat endast på egenskaper som är ogiltiga identifierare. eslint:
quote-props
Varför? Generellt sett anser vi att det är subjektivt lättare att läsa. Det förbättrar syntaxmarkering och är också lättare att optimera av många JS-motorer.
// bad
const bad = {
'foo': 3,
'bar': 4,
'data-blah': 5,
};
// good
const good = {
foo: 3,
bar: 4,
'data-blah': 5,
};
Svar #2
ESLint-dokumentationen har några synpunkter på detta:
I många fall spelar det ingen roll om du väljer att använda en identifierare istället för en sträng eller tvärtom. Ändå kan du besluta att upprätthålla en konsekvent stil i din kod.
Det finns dock vissa tillfällen när du måste använda citattecken:
- Om du använder en ECMAScript 3 JavaScript-motor (såsom IE8) och du vill använda ett nyckelord (såsom if) som ett egenskapsnamn. Denna begränsning togs bort i ECMAScript 5.
- Du vill använda ett icke-identifierande tecken i ditt egenskapsnamn, till exempel att ha en egenskap med ett mellanrum som "one two".
Ett annat exempel där citattecken spelar roll är när man använder numeriska litteraler som egenskapsnycklar:
var object = { 1e2: 1, 100: 2 };
Enligt min åsikt är det bra att använda citattecken när det behövs.
