Verwenden reservierter Wörter als Eigenschaftsnamen, erneut besucht

Kann ein reserved word verwendet werden, als ein Objekt die Eigenschaft name?

Dieses Problem wurde angehoben, indirekt vorherigen ein stackoverflow-Frage. die Antwort schien allgemeiner Konsens durch @Squeegy:

können Sie diese Wörter verwenden, sondern nur als strings und nicht-Kurzschrift-Eigenschaften - foo["class"] ist cool, in der Erwägung, dass foo.class ist nicht

hilfsbereit, geben Sie einen link zu der Liste der reservierten Wörter

während ich denke, dass @Squeeky ist wohl mehr wissen als ich in diesem Bereich, und es ist wahrscheinlich eine schlechte Idee Verwendung von reservierten Wörtern in manchen Situationen, denke ich, dass seine Schlussfolgerung falsch ist, basierend auf zwei Punkte:

  • Prüfung der reservierten Worte mit Ihnen als "shorthand" - Eigenschaften
  • den HTMLFormElement macht es unmöglich nicht Verwendung von reservierten Wörtern in "Kurzform"

Erste, verwenden Sie das reservierte Wort-Liste, jeder wurde Hinzugefügt als eine Eigenschaft an ein Object und HTMLElement sowohl als obj["word"] und obj.wordund dann abgerufen als obj["word"] und obj.word. In jedem der 63 Fälle alle acht tests einwandfrei funktionierte.

Zweite, die HTMLFormElement erfordert dies funktioniert, da ruft es in seine Elemente mithilfe von Kurznotation. Wenn <input name='typeof' value='scalar' /> ist ein element eines Formulars, dann form.typeof == "scalar".

Aus meiner Erfahrung, die reservierte Wörter sind in der Regel Daten zugefügt (zB eine Spalte mit dem Namen "privat"), nicht Programm zugefügt. Als solche, die Sie kontaminieren JSON-Objekte, und von dort aus EINGANG, und von dort aus die HTMLFormElement. Einfach ausgedrückt, ohne eine riesige Menge von (imho unnötige) Arbeit, es ist unmöglich zu halten, reservierte Wörter nicht gezwungen, um korrekt zu arbeiten in Kurzform.

Scheint es mir, diese realen Probleme:

  • darauf zu achten, nicht in Konflikt mit der existierenden Eigenschaftenkeine reservierten Wörter
  • (vielen, wenn nicht allen) Variablen nicht reservierte Wörter
  • Nutzung der reservierten Wörter als Eigenschaften werden können (aber nicht unbedingt) verwirrend

Ist diese Schlussfolgerung dann richtig, dass reservierte Wörter als Namen für die Eigenschaft und den Zugriff auf Sie entweder als Zeichenketten oder die Kurzform, ist in Ordnung, solange ein wenig gesundem Menschenverstand angewendet wird, um die situation?

InformationsquelleAutor der Frage cc young | 2011-08-11

Schreibe einen Kommentar