Как работает Typescript --allowJs?

Я читал:

но я до сих пор не понимаю, как это работает и для чего это хорошо. Мог  кто-нибудь, пожалуйста, объясните, что это такое и когда я захочу его использовать?

Ответ 1

Из Clay Allsopp on Medium:

allowJs - это опция, доступная в 1.8. Компилятор TypeScriptпроведет быструю проверку работоспособности файлов .js для синтаксических ошибок, но в противном случае передает их прямо в выходной каталог.

Это полезно при переносе проекта JavaScript на TypeScript, поэтому вам не нужно выполнять миграцию сразу, а вместо этого начинать писать новый код в TypeScript и/или переносить каждый файл по одному. Дополнительную информацию о переносе с JavaScript на TypeScript можно найти на официальном сайте TypeScript, где есть учебник под названием " Миграция с JavaScript".

Ответ 2

Для этого есть несколько применений. Я только собираюсь войти в один.

ПРИМЕР ИСПОЛЬЗОВАНИЯ: Вы пишете приложение для веб-браузеров. Вы хотите написать ES6 и перенести его в ES5.

Это один из вариантов использования --allowJs. В некотором смысле, он будет делать все, что делает компилятор TypeScript, кроме проверки типа вашего кода.

Без --allowJs это выдаст ошибку:

var foo = {};
foo.name = "bar";    

Это связано с тем, что у литерала типа {} нет name свойства. Это допустимый JavaScript - и, следовательно, не приведет к отключению компилятора с отключенной проверкой типов.

Если вы хотите использовать проверку типов, вы можете изменить ее на:

var foo: any = {};
foo.name = "bar";

Или даже лучше:

var foo = {name: "bar"};