Re:Ink: React for Interactive CLI Apps
by Capricorn2481 on Sunday November 03, 2024 @04:11PM
(#42036122)
Because you've given the function no information on whether those two "things" are related. You're saying when it gets passed into that function it can be treated as either with type widening.
I understand it may be unwanted at first glance, but this is a contrived example for demo purposes. You wouldn't really make an "add to array" function like this so specifically. You would use generics, which would solve the exact issue that is posed.
function add<T>(item: T, dst: T[]): void {
dst.push(item);
}
Now you can work with any array, and it will only add items with the right type.
If you really need it to be just <Thing>, you can do this
I understand it may be unwanted at first glance, but this is a contrived example for demo purposes. You wouldn't really make an "add to array" function like this so specifically. You would use generics, which would solve the exact issue that is posed.
Now you can work with any array, and it will only add items with the right type.If you really need it to be just <Thing>, you can do this
Now it knows that Item and DST are related but need to be Thing.