06 Июл 2023
2 мин
45

Оператор объединения с null в JavaScript

Во многих языках программирования, таких как C# или PHP, существует так называемый «оператор объединения с null». Этот оператор позволяет упростить

Содержание

Во многих языках программирования, таких как C# или PHP, существует так называемый «оператор объединения с null». Этот оператор позволяет упростить код, заменяя выражения условий на более короткую и удобную форму.

Допустим, есть переменная, которая может быть null, и в случае, если она null, нужно присвоить ей какое-то другое значение.

В C# это выглядит так:

String someString = null;
var whatIWant = someString ?? "Cookies!";

В JavaScript до недавнего времени для достижения подобного эффекта приходилось использовать условный (тернарный) оператор:

var someString = null;
var whatIWant = someString ? someString : 'Cookies!';

Однако, начиная с версии ES2020 в JavaScript появился аналог оператора объединения с null из других языков — это оператор «опциональной цепочки» (optional chaining) ??.

Теперь, код на JavaScript для аналогичной задачи может выглядеть так:

var someString = null;
var whatIWant = someString ?? 'Cookies!';

Оператор ?? возвращает первый аргумент, если он не null и не undefined, в противном случае возвращает второй аргумент.

Важно отметить, что оператор ?? в JavaScript отличается от оператора ||. Оператор || возвращает второй аргумент, если первый аргумент является «ложным» (false, 0, "", null, undefined, или NaN). Оператор ??, в свою очередь, возвращает второй аргумент только если первый является null или undefined.

Таким образом, оператор ?? в JavaScript позволяет писать более чистый и наглядный код при работе с потенциально отсутствующими значениями.

Добавить комментарий