TypeScript допускает оператор with
, поскольку это не будет нарушать его надмножество JavaScript. Тем не менее, компилятор выдает ошибку (хотя все еще компилирует и выводит код), потому что нет никакого способа узнать что-либо о том, что ссылается на оператор with
, кроме как во время выполнения, что полностью нарушает цель статической типизации, поэтому вы не должны использовать его в программе TypeScript. Там есть additional discussion on the TypeScript forum.
Что касается другого строгого режима, который не допускается в TypeScript, поскольку TypeScript пытается следовать спецификации ES6, где он может для своих новых функций, а спецификация ES6 (§10.2.1) гласит: «Модуль кода всегда является строгим кодом . »И« ClassDeclaration или ClassExpression всегда строгий код ». Вероятно, вы обнаружите, что почти весь ваш код TypeScript должен будет соответствовать строгому режиму в какой-то момент в будущем, если не сегодня.
Это действительно не позволяет - это испускает ошибку, и в спецификации указано, что «использование« с »statememt в TypeScript является ошибкой». - как всегда, компилятор пытается дать вам код даже при наличии ошибок. Спасибо за ссылку ES6, хотя, похоже, что TypeScript будет выровняться с этими определениями. – Fenton
Да, я думаю, это зависит от того, как вы хотите определить «разрешить»; компилятор выдает код, но он также всегда будет испускать ошибку. Так оно работает пока оно терпит неудачу. ¯ \\ (° _o)/¯ –
История моей жизни :) – Fenton