• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Różnica pomiędzy dwoma zapisami obiektu

Object Storage Arubacloud
0 głosów
233 wizyt
pytanie zadane 3 lutego 2019 w JavaScript przez jared Gaduła (3,600 p.)

Czy jest jakakolwiek znacząca różnica pomiędzy poniższymi zapisami obiektu?

let admin = {
    name: 'Admin'
};

let admin = {
    "name": 'Admin'
};

 

2 odpowiedzi

+1 głos
odpowiedź 3 lutego 2019 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 3 lutego 2019 przez jared
 
Najlepsza
W JavaScript nie ma to znaczenia. Ja na przykład preferuję pierwszy sposób ale to rzecz gustu.

Tylko taka uwaga, stosuj jeden rodzaj cydzysłowy albo apostrofy, nie mieszaj. Podgraj sobie jakiś linter np. eslint i poustawiaj odpowiednie regułki to Ci tego przypilnuje sam.
komentarz 3 lutego 2019 przez jared Gaduła (3,600 p.)
Również bardziej podoba mi się zapis pierwszy. Drugi rozumiem, że stosuje się do JSON (oczywiście cudzysłów)?
1
komentarz 3 lutego 2019 przez Tomek Sochacki Ekspert (227,510 p.)
jeśli mówimy o JSON to owszem, wtedy "xxx": "xxx", ale moja odpowiedź dotyczyła samych obiektów w JS :)

Zresztą raczej nie będziesz tak wprost tworzył ręcznie JSONów, zazwyczaj po prostu bierze się obiekt JS i puszcza JSON.stringify więc nadal Cię ten zapis nie interesuje.
+3 głosów
odpowiedź 3 lutego 2019 przez niezalogowany
Pierwszy zapis ogranicza nazwy kluczy do takich, które są zgodne ze składnią js. Przy drugim zapisie praktycznie nie ma takich ograniczeń. Jeśli chodzi o ten konkretny przykład, obiekty są tożsame.
1
komentarz 3 lutego 2019 przez ScriptyChris Mędrzec (190,190 p.)

Podobna różnica występuje przy property accessorach (zapis z nawiasami kwadratowymi vs zapis z kropką).

komentarz 3 lutego 2019 przez Tomek Sochacki Ekspert (227,510 p.)

@niezalogowany,

Pierwszy zapis ogranicza nazwy kluczy do takich, które są zgodne ze składnią js. Przy drugim zapisie praktycznie nie ma takich ograniczeń. 

mojego CR byś nie przeszedł taką customową nazwą :) Ja uważam to za błąd i nie ma zmiłuj :)

komentarz 3 lutego 2019 przez niezalogowany

@Tomek Sochacki mocne stwierdzenie. Niemniej taki zapis występuje przy różnego typu konfiguracjach: na przykład axios headers, czy lang codes.

Czasem zajdzie potrzeba zmapowania nieprzyjaznych danych na sztywno: na przykład, gdy kluczem jest tłumaczona fraza

const locale = {
  en: {
    'Hello world': 'Hello world'
  },
  pl: {
    'Hello world': 'Witaj świecie!'
  }
}
komentarz 3 lutego 2019 przez Tomek Sochacki Ekspert (227,510 p.)
oki ale to pojedyncze sytuacje. a na marginesie to czemu mialby sluzyc kod z tlumaczeniami? pracuje z apkami wielojęzycznymi i takie rzeczy zalatwiaja pliki tlumaczen, np. po lub xlf itp. Apki to w ogole nie powinno obchodzić :)
komentarz 3 lutego 2019 przez Tomek Sochacki Ekspert (227,510 p.)
s przy headers itp to też preferuję wyciaganie np. do stalej i zrobienie klucza wg tej stalej jesli juz jest to potrzebne :)
komentarz 3 lutego 2019 przez niezalogowany
Okej, rozumiem Twoje podejście do zapisu niestandardowych kluczy.

Kod z tłumaczeniami miałby służyć tłumaczeniom :)
komentarz 3 lutego 2019 przez niezalogowany

Oczywiście masz rację, tak nie tłumaczy się aplikacji.

Spójrz na na ten przypadek. Nieprzyjazne dane mogą pochodzić z różnych źródeł, nad którymi nie zawsze mamy kontrolę.

Podobne pytania

0 głosów
2 odpowiedzi 187 wizyt
0 głosów
2 odpowiedzi 313 wizyt
0 głosów
0 odpowiedzi 163 wizyt
pytanie zadane 17 czerwca 2020 w JavaScript przez Uwaciusz Nowicjusz (140 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...