Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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/Refe...



Right 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"


It 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.


There's already a mechanism for bailing out when optimization assumptions are violated; they could be made more eagerly but retain the ability to degrade


> "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)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: