Aggiornamenti
- tipografico 1.8+:
"use strict";
è emessa in moduli (Read more).
- TypeScript 2.1+:
--alwaysStrict
l'opzione del compilatore analizza tutti i file in modalità rigorosa ed emette "use strict"
nella parte superiore di tutti i file emessi (Read more).
È possibile trovare un elenco di alcuni esempi con la ricerca di prove di dattiloscritto per "in modalità rigorosa".
Ecco alcuni esempi di codice che gettano un errore di tempo di compilazione solo quando si "use strict";
:
// future reserved keyword not allowed as variable name
var let,
yield,
public,
private,
protected,
static,
implements;
// "delete" cannot be called on an identifier
var a;
delete a;
// octal literals not allowed
03;
ci sono un paio di esempi in cui "use strict";
getterebbe un errore solo in fase di esecuzione. Per esempio:
"use strict";
delete Object.prototype;
Personalmente, io non lo trovo tutto ciò che utile a mi impedisce di commettere errori a macchina e il rumore addizionale si aggiunge a un file mi fa non si preoccupano scriverlo. Detto questo, a partire da TS 2.1 abiliterò l'opzione del compilatore --alwaysStrict
perché aggiunge la leggera rigidità aggiuntiva senza alcun sovraccarico di manutenzione del codice.
fonte
2015-07-13 20:35:38
http://stackoverflow.com/questions/1335851/what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it?rq=1 –
Il link che hai fornito definisce cosa si intende per "usare rigorosamente" in un file JavaScript. La mia domanda è se sia o meno ancora utile/necessario in un file TypeScript in cui gli editor abilitati a TypeScript e Typescript cattureranno la maggior parte/tutti (?) Dei problemi che "use strict" potrebbe catturare. – DeborahK
Anche se lo si sta costruendo in ES6 e si utilizza qualcosa come Babel, è necessario che lo script generato contenga "use strict"; ' – BrunoLM