TypeScript-можно отключить проверку типов?

можно ли отключить проверку типов при использовании TypeScript? Я люблю TypeScript для классов, интерфейса и т. д. Еще для небольших проектов одного человека, которыми я обычно занимаюсь, мне действительно не нужна проверка типа, и боль от не нахождения готовых определений типов для менее распространенных библиотек или последней версии-это боль. Спасибо

2 ответов


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

поскольку кажется, что самая большая боль, которую вы испытываете, - это поиск определений типов для внешних библиотек, вы можете создать окружающее определение для любой переменной, которую вы не хотите вводить, проверяя:

declare var variableName: any;

например, для jQuery это будет declare var $: any;. Тогда вы могли бы сделать:$("#test").myNonExistentFunction(); если вы хотели.

альтернативно, при использовании модулей es2015 можно сделать следующий код, чтобы разрешить импортируемая библиотека:

declare module "jquery" {
    var _temp: any;
    export = _temp;
}

стенографические объявления окружающего модуля (TS 2.0+)

в TS 2.0+ лучший способ отключить проверку типов для импорта-создать .d.ts файл в вашем проекте и определите стенографические объявления окружающего модуля:

declare module "jquery";
// or use a wildcard
declare module "express-*"; // or use "*" to allow everything

это позволит вам использовать этих продуктов свободно, без проверки типа:

import $ from "jquery";

$.something(); // ok at compile time, but will be an error at runtime

тем не менее, лучший путь в этом сценарии находится в в ваш проект постепенно определяет интерфейс библиотеки, от которой вы зависите, на основе того, что вы используете.


да. Типы по умолчанию необязательны, если в проекте не включена опция компилятора noImplicitAny.