"Parent.child" noktalı gösterimini ekleyebileceğiniz ve aynı zamanda geçerli ve kullanışlı olan üst ["child"] öğesini koymak zorunda olmadığınız için, her iki yolun da teknik olarak kabul edilebilir olduğunu söyleyebilirim. Ayrıştırıcıların hepsi her iki yolu da gayet iyi yapmalıdır. Ayrıştırıcınız tuşlar üzerinde tırnak işareti gerektirmiyorsa, büyük olasılıkla onları yerleştirmemek daha iyidir (yerden tasarruf sağlar). Onları dizeler olarak adlandırmak mantıklıdır, çünkü oldukları şey budur ve köşeli parantezler, anahtarlar için değerleri kullanma yeteneği sağladığından, mükemmel bir anlam ifade etmemektedir. Json'da koyabilirsiniz ...
>var keyName = "someKey";
>var obj = {[keyName]:"someValue"};
>obj
Object {someKey: "someValue"}
sadece sorunsuz bir anahtar için bir değere ihtiyacınız varsa ve alıntı yapılan hiçbiri işe yaramazsa, eğer işe yaramazsa, yapamazsınız, bu yüzden "anahtarlar üzerinde tırnak gerekmez" olmaz. Teknik olarak ip olduklarını söylemek doğru olsa bile. Mantık ve kullanım aksini iddia eder. Ayrıca herhangi bir tarayıcının konsolundan çalıştırdığımız örnekteki obj için {{someKey ":" someValue "} nesnesini resmi olarak çıkarmaz.