Есть ли сахар с необязательным объединением цепочек / nulli sh для предотвращения ошибок типа скажем с Array.map? - PullRequest
0 голосов
/ 08 февраля 2020

Есть ли сахар, чтобы карта не печатала с ошибками, используя такие инструменты, как необязательное сцепление / nullishcoalescing ?

let x = {y: 1, z: 2};

x?.map(i => i); // Typeerror
Array.isArray(x)?.map(i => i); // Typeerror

let y = '1234';
y?.length && y.map(i => i) // Typeerror

1 Ответ

1 голос
/ 08 февраля 2020

Эти ошибки типа кажутся правильными. Очевидно, вы не можете вызвать map для литерала объекта, логического значения или строки.

Если вы все равно хотите дополнительно вызывать map, вы можете продолжить необязательную цепочку с помощью ?.(params):


let x = {y: 1, z: 2};

x?.map?.(i => i);
Array.isArray(x)?.map?.(i => i);

let y = '1234';
y?.length && y.map?.(i => i)

Имейте в виду, что это только проверяет, существует ли свойство с именем map и является ли оно ненулевым / неопределенным. Если он существует, но не является функцией, вы все равно получите сообщение об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...