Нулевой оператор объединения в 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
,