или сделать каст. чем это лучше пользоваться any?
https://www.typescriptlang.org/play/?#code/CYUwxgNghgTiAEYD2A7AzgF3gVQFzwFcUBrFJAdxQChRJYFl0sBBfKFATyquYDoBbKAAcAFCICWbTgEp4AXgB88cfABU8AEzSq2AcLGTCJMpVmLlazdu7iAZvBHMYMKB17i0TlxxHZpsgG8qeBCcPVEJfCJSChQzJSDQpOV7EQwOIRAkexU5PPgAchQCfgAjEBgC+AAyauU0ADFxFHEMEAl-eETknrgMAhgUC3UNYJ74AF9ucfg+gaGABjGQie0JoA
видишь, в строчке A.map((i: any) => i * 2) нет ошибок компиляции а в строчке U.map((i: unknown) => i * 2) есть и целых две и поэтому либо я проверяю всё вот так if (Array.isArray(U)) { U.map((i: unknown) => { if (typeof i === 'number' && isFinite(i)) { return i * 2 } return 0 }) } чтобы точно не упало либо пихаю грязные касты (as number[]), либо пихаю // @ts-ignore, либо использую any — все три способа выключают типизацию (чтобы не мешала)
Обсуждают сегодня