3 ms·
There's already "use strict" that does some of this to enable optimizations and other stuff. Maybe it should be even stricter or something similar could be used
by matsemann 6y ago
There's already "use strict" that does some of this to enable optimizations and other stuff. Maybe it should be even stricter or something similar could be used.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
- brundolf 6y agoRight but I'm talking about very specific hints for one codebase "Function X will only ever take two arguments, they will be of types Y and Z" "This object will only ever have these properties; it will never have properties created or deleted" "This prototype will never be modified at runtime"
- hajile 6y agoIt still has to verify that those assertions are true in practice. Any random person at the console can call a function and pass whatever they like. The only real way to make that work would be a new `<script type="typed-module" />` variant that implemented a subset of JS in a typed environment. My guess is that this could happen in the future, but everyone is watching Typescript as a testing ground to find exactly what works, what doesn't, and what works, but isn't desirable.
- brundolf 6y agoThere's already a mechanism for bailing out when optimization assumptions are violated; they could be made more eagerly but retain the ability to degrade
- crazypython 6y ago> "This object will only ever have these properties; it will never have properties created or deleted" Already in JavaScript: Object.seal(object) > "This prototype will never be modified at runtime" Already in JavaScript: Object.freeze(myPrototype)