TS TworcaStron.pl.

Optional chaining – czyli jak skrócić kod ?.

const name = person.addresses?.[0].street?.name

Powyższy zapis wygląda dziwnie?

To tzw. optional chaining, czyli opcjonalne łączenie łańcuchowe. O ile nazwa może brzmieć tajemniczo to robi on mniej więcej coś takiego:

const name = person.addresses && person.addresses.[0].street && person.addresses.[0].street.name

natomiast ten zapis jest uproszczeniem tego:

let name;
if (person.address) {
  if (person.address[0].street) {
    let name = person.address[0].street.name
  }
}

Jest więc to sposób na znacznie uproszczenie kodu. Znak ?. sprawdza czy wartość po lewej stronie jest null lub undefined. Jeśli tak, zatrzymuje się i zwraca undefined. W innym przypadku wykonuje dalszą część kodu.

Dokładne przedstawienie w dzisiejszym odcinku:

Optional chaining – czyli jak skrócić kod [wideo]