Что это за функция «?.», вызываемая в JavaScript?

#javascript

#javascript

Вопрос:

Только что понял, что она существует, благодаря VSCode, обеспечивающему ее…

  • Я не знаю, как она называется;
  • Это не TypeScript.

Использование

 let regex = /hot/g;
let phrase = "It's hot, outside.";

// you don't need to worry about null
let matches = phrase.match(regex)?.length;
  

Комментарии:

1. Это «необязательный оператор цепочки», согласно caniuse.com/#search=? .

2. Как люди ответили, это называется необязательной цепочкой, однако иногда ее также называют оператором Элвиса.

3. @YairCohen Почему она называется «Оператор Элвиса»?

4. «Название «оператор Элвиса» относится к тому факту, что, когда его общее обозначение, ?:, рассматривается сбоку, оно напоминает смайлик Элвиса Пресли с его челкой». — Википедия

5. Необязательная цепочка. Я считаю, что это функция ES6.

Ответ №1:

Эта функция называется необязательной цепочкой. Это вызывает метод, когда получатель не является ни undefined , ни null .

Комментарии:

1. Обычно сочетается с нулевым оператором объединения ( ?? )