Quali ambienti (javascript) supportano la modalità rigorosa ECMAscript 5? (aka & # 8220; usa il rigoroso & # 8221;)

StackOverflow https://stackoverflow.com/questions/1423889

Domanda

ECMAScript 5 è nella sua finale bozza mentre scrivo questo; Dovrebbe includere una modalità rigorosa che ti impedirà di assegnare all'oggetto globale, usando eval e altre restrizioni. ( L'articolo di John Resig è una buona introduzione.)

Questa modalità magica di risparmio di energia è attivata includendo la stringa "usa rigoroso" nella parte superiore del file (o della funzione). Tuttavia, negli ambienti più vecchi, "usa rigoroso" è una no-op. Se aggiungi " usa rigoroso " e non testarlo in un ambiente rigoroso, potresti lasciare una bomba a orologeria di codice non molto rigoroso che si spezzerà quando colpisce davvero un ambiente rigoroso.

Quali ambienti rispettano realmente " usa il rigoroso " ;?

È stato utile?

Soluzione

Aggiorna :

Vedi la mia tabella di compatibilità .

Risposta originale :

Nessuno al momento.

Raphael Speyer era al lavoro sull'implementazione di Mozilla per Rhino durante questa estate , e poi, la loro implementazione è piuttosto vicina fino al completamento.

So (in base alle informazioni dall'elenco di discussione ES) che Microsoft sta pianificando di includere alcune delle funzionalità ES5 nelle prossime versioni di IE e potrebbero benissimo lavorare su un'implementazione in modalità rigorosa in questo momento (come probabilmente saprai, IE8 include già alcune delle funzionalità ES5, come Object.defineProperty ).

C'è anche progetto Caja di Google che emula in qualche modo il comportamento della modalità rigorosa in alcuni dei le sue variazioni (Valija, Cajita, ecc.).

Anche Crockford ha recentemente aggiunto questa opzione a JSLint , ma non sono sicuro che effettivamente attiva eventuali ulteriori convalide (come da regole rigorose ES5).

Altri suggerimenti

Ora che è stato effettivamente rilasciato, Firefox 4 è il vincitore del "primo browser che supporta la modalità rigorosa ES5". Ora puoi iniziare a usarlo, purché esegui il test in Firefox 4.


Safari 5.1+ e Chrome 13+ supportano anche la modalità rigorosa.


Il primo è in: Besen . Implementato in Delphi. Penso che sia autonomo, ma non sono sicuro. Ma supporta la modalità rigorosa.

Trovato tramite questa tabella di compatibilità .


Jurassic afferma di supportare ES5 Strict Mode.

La modalità rigorosa di ECMAscript 5 richiede queste versioni per i principali browser (o successivi):

Chrome 13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Opera 11.6

No, IE9 non ha un supporto rigoroso, è una novità della versione 10 o successive.

Opera 11.60 supporta già pienamente ECMAScript 5.1 ed è una variazione di modalità rigorosa. Vedi tabella di compatibilità @kangax.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top