Ответ 1
Обновление
- TypeScript 1.8+:
"use strict";
испускается в модулях (Подробнее). - TypeScript 2.1+:
--alwaysStrict
параметр компилятора анализирует все файлы в строгом режиме и испускает"use strict"
в верхней части всех выводимых файлов (Подробнее).
Вы можете найти список некоторых примеров, выполнив поиск TypeScript тестов для "в строгом режиме".
Вот несколько примеров кода, которые будут только бросать ошибку времени компиляции, когда вы "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;
Есть еще несколько примеров, в которых "use strict";
выдает ошибку только во время выполнения. Например:
"use strict";
delete Object.prototype;
Лично я не считаю все это полезным для предотвращения ошибок в TypeScript, а дополнительный шум, который он добавляет в файл, заставляет меня не докучать. Тем не менее, начиная с TS 2.1, я включу параметр компилятора --alwaysStrict
, потому что он добавляет небольшую дополнительную строгость без каких-либо издержек на обслуживание кода.