Є деякі речі, про які неможливо зробити висновок, або їх висновок може призвести до несподіваних помилок. Гарним прикладом є аргументи функції. Якщо ви не анотуєте їх, незрозуміло, що має бути дійсним, а що ні.
functionlog(someArg){sendDataToServer(someArg);}// Який аргумент вірний а який ні?log(123);log('hello world');
Отже, якщо ви не анотуєте якийсь аргумент функції, TypeScript припускає any і йде далі. По суті, це вимикає перевірку типу для таких випадків, чого очікував би розробник JavaScript. Але це може застати людей, які хочуть високої безпеки, зненацька. Таким чином, існує опція noImplicitAny, яка після ввімкнення позначатиме випадки, коли тип не можна визначити, наприклад.
functionlog(someArg){// Error : someArg has an implicit `any` typesendDataToServer(someArg);}