athenian200 wrote: ↑2022-05-26, 11:09
They keep piling on these new features and implementing them in an interdependent way. :/
Well it's more like "let's use all of this stuff at once"
so if the result uses "?." and "??" then if one of the two is implemented, you're still running into the other. It's also possible that after the next release it still doesn't work for a different reason when it passes the code lines with those two features. That's one of the issues with JavaScript and how it's an interpreted language that aborts the entire execution when an error is found.
e.g., say you have a piece of code:
Code: Select all
function() {
line that uses ?. (1)
some code
line that uses ?? (2)
some code
line that uses something else unsupported (3)
}
In v29, this function aborts and throws on (1). The error message only gives information about (1) only.
in v31.0, this function aborts on (2). The error message now gives information about (2) only.
In v31.1, this function passes (1) and (2), but aborts on (3) and now the error message is different again and gives information about (3) only.
So it's not the case (like in some compilers) that it will tell you all of the unsupported lines at once, but rather it's only telling you the first error it encounters and then completely aborts.