Use An Array Check For Type Narrowing
type ConcatFunction = (value: any | any[], array: any[]) => any[];const concat: ConcatFunction = (value, array) => {
if(Array.isArray(value)) {
return [...value, ...array];
} else {
return [value, ...array];
}
}
concat(true, [1,2,3]);
// [true, 1, 2, 3]
concat([1,2,3], ['a', 'b', 'c'])
// [1, 2, 3, 'a', 'b', 'c']PreviousType Narrowing With Similarly Shaped ObjectsNextZero-Config Environments For Trying Out Types
Last updated