Нулевой оператор объединения в React JS/ Typescript

У нас есть оператор слияния Null в .NET и мы можем использовать как ниже

string postal_code = address?.postal_code;

То же самое мы можем сделать в React JS?

Что я нашел, как мы можем сделать с && оператором

в файле address.ts

string postal_code = address && address.postal_code;

что мне нужно, как.NET функция возможна в машинописи с реагировать JS, это возможно?

что-то вроде:

string postal_code = address?.postal_code // I am getting the error in this line if I try to use like .NET

2 ответа

Решение

Это предложенная функция в TypeScript, под легендарной проблемой #16

Он не будет введен в TypeScript до тех пор, пока спецификация ECMAScript для этой функции не станет твердой, поскольку существует желание, чтобы реализация TypeScript следовала этой спецификации - так что вы получите ее рано, но в этом случае не очень рано.

Это называется любым из следующего:

  • Нулевой оператор распространения
  • Экзистенциальный оператор
  • Null Coalesce Operator

В JavaScript нет оператора объединения нулей (равно как и в TypeScript, который в основном ограничивается добавлением слоя типов и использованием функций, которые достаточно далеко находятся на пути превращения его в JavaScript). Есть предложение по JavaScript null оператор коалесценции, но это только на 1 этапе процесса.

С использованием && описанная вами идиома - довольно распространенный подход:

let postal_code = address && address.postal_code;

Если address является null (или любое другое ложное значение), postal_code будет то же значение; в противном случае, это будет любой ценностью address.postal_code было.


Values ​​ложные значения 0, "", NaN, null, undefined и конечно false,

Другие вопросы по тегам