| ▲ | granzymes 9 hours ago | |
For one, the simple answer is incomplete. It gives the fully unwrapped type of the array but you still need something like
The main difference is that the first, rest logic in the complex version lets you maintain information TypeScript has about the length/positional types of the array. After flattening a 3-tuple of a number, boolean, and string array TypeScript can remember that the first index is a number, the second index is a boolean, and the remaining indices are strings. The second version of the type will give each index the type number | boolean | string. | ||