JavaScript: Jak bezpośrednio zwrócić obiekt z funkcji typu arrow?
Opublikowano: 14.06.2022 - tagi: JavaScript Funkcja Obiekt
Funkcja typu arrow w JavaScript ma taką postać:
() => {
...
}
Jest to wygodna alternatywa dla tradycyjnej postaci funkcji.
Funkcja typu arrow pozwala także na bezpośrednie zwrócenie wartości bez użycia return:
const sum = () => 1 + 2;
sum(); // 3
Ale jak zwrócić bezpośrednio obiekt z takiej funkcji beż użycia return?
Taki zapis nie zadziała:
const createObject = () => { label: 'test', value: 5 }; // Zwróci błąd
Zwracanie bezpośrednio obiektu
Rozwiązanie tego problemu okazuje się banalne. Wystarczy zwracany obiekt umieścić w nawiasach ()
jak:
() => ({
label: 'test',
value: 5
});
Poniżej podaję jeszcze przykład:
const data = [
{ title: 'Foo', value: 7 },
{ title: 'Bar', value: 10 }
].map((current) =>
(
{ label: current.title, amount: current.value }
)
);
console.log(data); // [ { label: 'Foo', amount: 7 }, { label: 'Bar', amount: 10 } ]