Я видел сообщения о том, где поместить строку «использовать строгий» в файл кода TypeScript. У меня вопрос, а зачем он вообще?
Поскольку TypeScript уже является строго типизированным языком, что добавляет «использовать строгий»?
javascript
typescript
DeborahK
источник
источник
"use strict";
Ответы:
Обновления
"use strict";
издается в модулях ( Подробнее ).--alwaysStrict
опция компилятора анализирует все файлы в строгом режиме и выводит"use strict"
их поверх всех выводимых файлов ( Подробнее ).Вы можете найти список некоторых примеров, выполнив поиск в тестах TypeScript по запросу «в строгом режиме».
Вот несколько примеров кода, который выдает ошибку времени компиляции только в следующих случаях
"use strict";
:Есть еще несколько примеров, когда
"use strict";
ошибка возникает только во время выполнения. Например:Лично я не считаю все это полезным для предотвращения ошибок в TypeScript, а дополнительный шум, который он добавляет в файл, заставляет меня не утруждать себя его написанием. Тем не менее, начиная с TS 2.1, я включу параметр
--alwaysStrict
компилятора, потому что он добавляет небольшую дополнительную строгость без каких-либо накладных расходов на обслуживание кода.источник
use strict
строка, объявленная в верхней части файла TS, может появиться внутри функции модуля, а не в верхней части файла, что немного изменит семантику."use strict;"
На мои деньги, да ,
"use strict";
должен быть включен в файлы TypeScript.Не обращая внимания на влияние времени компиляции
"use strict";
на Typescript, вероятно, есть влияние времени выполнения, когда сгенерированный javascript выполняется:MDN идентифицирует улучшения производительности избежать бокса
this
в вызовах функций, а также удалениеfunction.caller
иfunction.arguments
свойств.Джефф Уолден из Mozilla также намекнул в этом ответе на возможности повышения производительности .
источник