¿Cómo concateno una matriz de dos tipos en una matriz usando concat ? Si lo inicializo con dos tipos de datos, funciona bien, pero cuando lo concat . Typescript arroja un error de que ambos tipos son incompatibles.
const foo: string[] = ['hello', 'world']; const bar: number[] = [1, 2]; const both: (string | number)[] = foo.concat(bar); // gets an error on bar const other: (string | number)[] = ['hello', 'world', 2, 3]; // this worksCreo que tiene que ver con la implementación de .concat() en Typescript. Se implementa porque se espera que el tipo de matriz fusionada sea el tipo de foo aquí. Esa es la razón por la que arroja un error.
Puede consultar la pestaña de error para su fragmento de código de Typescript Playground aquí para comprender más sobre esto.
Si desea que funcione, puede utilizar el operador de propagación. Debería funcionar bien.
const foo: string[] = ['hello', 'world']; const bar: number[] = [1, 2]; const both: (string | number)[] = [...foo, ...bar];