Просто любопытно, есть ли недостатки в том числе:
"compilerOptions": {
"alwaysStrict": true,
...
}
Так как по умолчанию это ложь. Мысли?
Просто любопытно, есть ли недостатки в том числе:
"compilerOptions": {
"alwaysStrict": true,
...
}
Так как по умолчанию это ложь. Мысли?
Рекомендуется не только включить alwaysStrict
, но и включить флаг strict
, который включает alwaysStrict
и также noImplicitAny
, noImplicitThis
, strictBindCallApply
, strictNullChecks
, strictFunctionTypes
и strictPropertyInitialization
, которые еще важнее.
Здесь есть путаница с именами, потому что «строгий» может означать здесь несколько вещей. Флаг strict
TypeScript — это ярлык для включения нескольких других флагов, упомянутых выше. Флаг alwaysStrict
TypeScript анализирует файлы в строгом режиме JS (в отличие от небрежного режима JS и выдает 'use strict'
в Вместо использования флага alwaysStrict
вы можете добавить "use strict";
ко всем своим файлам (модули ES по умолчанию являются строгими).
Другие строгие флаги TypeScript даже более важны, потому что они помогают устранить следующие ошибки:
strictNullChecks
является наиболее важным в этом отношении.
Он не включен по умолчанию для обратной совместимости со старым кодом, который был написан до того, как был добавлен новый способ проверки null и undefined.
Смотрите этот ответ для более подробной информации:
Просто любопытно, есть ли недостатки у включения
Даже если ваш файл не будет в режиме strict
, он будет обработан как есть. например вам не будет разрешено создавать объявление функции внутри тела функции: Почему TS жалуется на объявления функций внутри тела функции
Лично: Это хорошая идея, чтобы иметь его. И еще лучше всегда использовать модули JavaScript/TypeScript (которые по умолчанию находятся в строгом режиме).
"Parse in strict mode and emit "use strict" for each source file"
, поэтому ваш вопрос в основном не отличается от: stackoverflow.com/questions/1335851/ - person Nitzan Tomer   schedule 02.05.2017