Destrukturyzacja w funkcji strzałkowej

Destrukturyzacja w funkcji strzałkowej
Mateuszto
  • Rejestracja:około 7 lat
  • Ostatnio:5 miesięcy
  • Lokalizacja:Poznań
  • Postów:163
0
Kopiuj
public getOffbordingEmployees(): Observable<IEmployee[]> {
    return this.employees$.pipe(
      map(el => el.filter(item => item.offboarding?.state == true))

Jak moglbym w powyzszym przykladzie zastosowac destrukturyzacje na state?
Pomijajc juz to ze nie musze przyrownywac

edytowany 1x, ostatnio: Riddle
Xarviel
  • Rejestracja:ponad 3 lata
  • Ostatnio:2 dni
  • Postów:847
2

Chodzi Ci o coś takiego?

Kopiuj
el.filter(({ offboarding: { state } }) => state))

 
 
EDIT: Można jeszcze przypisać domyślną wartość
 
W tym wypadku powinien wystarczyć taki zapis, bo offboarding istnieje, ale nie ma zawsze właściwości state

Kopiuj
el.filter(({ offboarding: { state = false } }) => state))

Tutaj zamiast false, oczywiście może być dowolna wartość jakiej potrzebujemy.

edytowany 3x, ostatnio: Xarviel
MA
Tam jest ?, więc ten kod wtedy sypnie Cannot destructure property 'state' of 'undefined' as it is undefined
Xarviel
@Markuz Faktycznie, dzięki. W takim wypadku pojawiłby się błąd, ale można dodać domyślną wartość.
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około godziny
  • Postów:8423
1

Pytanie tylko po co?

Jak dla mnie takie zabiegi w tym przypadku zaciemniają tylko kod nie dając żadnego zysku.


Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Koszalin
  • Postów:10094
2
Kopiuj
el.filter(({ offboarding: { state = false } }) => state))

vs

Kopiuj
el.filter(e => e.offboarding.state || false)

No HMMMMMM, które jest czytelniejsze.

edytowany 1x, ostatnio: Riddle
Mateuszto
To samo mówię, ale w pracy mówią, że trzeba nakurwiac destrukturyzacje
Riddle
@Mateuszto: Ja bym powiedział żeby poszli się leczyć.
LukeJL
Bo ludzie nie bardzo ogarniają zmiany jakie doszły do JSa w ostatnich latach i wiele ciekawych nowości (np. generatory) jest ignorowanych, bo ludzie ich nie umieją albo nie wiedzą do czego używać. Rzucają się natomiast na cukier składniowy, rzeczy, które niewiele zmieniają, a pozwalają zapisać to samo w trochę inny sposób (czasem bardziej czytelny, ale jak widać czasem czytelność jest mniejsza). To trochę jakby ktoś będąc na weselu czy w eleganckiej restauracji nie spróbował żadnych ciekawych potraw, a jadł tylko chipsy.
Riddle
@LukeJL: +1. Pomijajac zupełnie, że normalny programista moim zdanie; powinien takimi cukierkami składniowymi się bawić, owszem, żeby poznać; ale w swoich prywatnych projektach, w pracy nie ma na to miejsca. Natomiast jeśli ktoś nie robi prywatnych projektów, a tylko programuje w pracy, to cóż, jego problem że nie pozna cukierkowych składni.
Xarviel
  • Rejestracja:ponad 3 lata
  • Ostatnio:2 dni
  • Postów:847
0
TomRiddle napisał(a):
Kopiuj
el.filter(({ offboarding: { state = false } }) => state))

vs

Kopiuj
el.filter(e => e.offboarding.state || false)

No HMMMMMM, które jest czytelniejsze.

Druga wersja, ale pytanie było jak użyć destrukturyzacji w tym konkretnym przypadku, a nie jaka wersja jest czytelniejsza.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Koszalin
  • Postów:10094
1
Xarviel napisał(a):

Druga wersja, ale pytanie było jak użyć destrukturyzacji w tym konkretnym przypadku, a nie jaka wersja jest czytelniejsza.

A jak ktoś pyta "Jak użyć węża ogrodowego do zawiązania butów?" to też odpowiadasz, czy raczej mówisz że to nie ma sensu?

Xarviel
  • Rejestracja:ponad 3 lata
  • Ostatnio:2 dni
  • Postów:847
0
TomRiddle napisał(a):
Xarviel napisał(a):

Druga wersja, ale pytanie było jak użyć destrukturyzacji w tym konkretnym przypadku, a nie jaka wersja jest czytelniejsza.

A jak ktoś pyta "Jak użyć węża ogrodowego do zawiązania butów?" to też odpowiadasz, czy raczej mówisz że to nie ma sensu?

Jakbym wiedział jak zawiązać buty za pomocą węża ogrodowego to powiedziałbym bym jak to zrobić i najwyżej później dodałbym drugi sposób jak to zrobić lepiej :]

Nie zawsze trzeba z tego korzystać w taki sposób, ale wiedza, że istnieje taka możliwość nie zaszkodzi.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.