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

Czy powinienem używać konstruktora Headers?

Object Storage Arubacloud
+2 głosów
191 wizyt
pytanie zadane 19 października 2019 w JavaScript przez Kamil M Bywalec (2,340 p.)

Cześć, czy dobrą praktyką jest używanie konstruktora Headers?

const ourHeaders = new Headers();
ourHeaders.append("Content-Type", "application/json");

fetch(URL, {
  method: 'POST',
  headers: ourHeaders,
  body: JSON.stringify(data)
})

To samo można przecież osiągnąć tworząc zwykły literał obiektu...

fetch(URL, {
  method: 'POST',
  headers: {
     'Content-type': 'application/json'
  },
  body: JSON.stringify(data) 
})

Są jakieś plusy/minusy obu sposobów?

1 odpowiedź

0 głosów
odpowiedź 19 października 2019 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 20 października 2019 przez Kamil M
 
Najlepsza

Moim zdaniem to zależy od tego co chcesz robić z obiektem zawierającym te nagłówki - czy tylko przekazać go do przykładowego fetch, czy może coś na nim podziałać? Jeśli to drugie, to obiekt stworzony przez konstruktor Headers ma dostęp do metod z prototypu, które umożliwiają Ci operowanie na tym obiekcie. Z tego co widzę w dokumentacji, to raczej wszystkie te metody możesz zastąpić swoim kodem lub metodami statycznymi z konstruktora Object, ale niewykluczone, że natywne odpowiedniki z Headers.prototype są bardziej zoptymalizowane. Poza tym, pod względem czytelności użycie metod z Headers.prototype jest lepsze, bo jednoznacznie wskazuje, że działasz na obiekcie z konstruktora Headers.

Niemniej, jak wspomniałem na początku - jeśli tylko potrzebujesz przekazać obiekt jako parametr, to literał wystarczy (pod warunkiem, że funkcja traktująca go jako argument wie, że to zwykły literał, a nie instancja z konstruktora Headers). Od biedy zawsze można posłużyć się metodami Function.prototype.call / apply / bind ] żeby użyć jakiejś metody z Headers.prototype w kontekście literału stworzonego bez użycia konstruktora Headers.

Podobne pytania

0 głosów
1 odpowiedź 1,491 wizyt
pytanie zadane 20 maja 2017 w JavaScript przez niezalogowany
0 głosów
1 odpowiedź 144 wizyt
pytanie zadane 30 grudnia 2016 w HTML i CSS przez saliwan22 Gaduła (3,110 p.)
0 głosów
2 odpowiedzi 155 wizyt
pytanie zadane 2 stycznia w JavaScript przez szpon12 Obywatel (1,220 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 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!

...