This is really only even marginally appropriate if you want to do something like this:
return Object.entries(myObject)
.filter(([, value]) => value % 2 === 0)
.map(([key, value]) => `${key} has even value ${value}`);
Skipping the key in the `filter` call is probably straightforward enough that nobody is going to be confused about what's happening. But if you're doing this for a tuple of any significant length, you're just papering over a much more serious problem that's already present in your code.just storing the data and accessing it as a tuple seems to not be the significantly slow part, but instead its destructuring the array that can be a bit slow. i remember seeing some threads with e.g. useState hooks in react needing array destructuring optimizations, but appears to still be a bit slower https://docs.google.com/document/d/1hWb-lQW4NSG9yRpyyiAA_9Kt...
caveat: depends on browser (chrome vs firefox behavior is different for example) and may vary over time
Learn the language.
What's the point of this cabalistic trick with commas? How does it improve anything about code? Readability, parseability, formatting, reasoning? I feel we're moving towards the day when the browsers would mark websites with a badge "built without use of JavaScript", so we know it can be trusted.
let { 0: one, 2: three, 4: five } = nums;let [one, _, three, _, five] = nums
edit: I guess you can't do that in JS, so
let [one, _two, three, _four, five] = nums
const parse = /(\w+):(\d+)/.exec(str)
if (parse) {
const [, key, value] = match
}
(Where the elided first entry is the original string)I've also had bugs where I forgot the leading comma and had all the wrong captures. Depending on the situation, I might instead recommend named captures:
const parse = /(?<key>\w+):(?<value>\d+)/.exec(str)
if (parse) {
const {key, value} = parse.groups
}
Caveat is it takes a bit to convince TS this is sound, and you have to manually sync the names. (https://github.com/microsoft/TypeScript/issues/32098 would help)