2

TypeScriptを学習するための演習として、flotのアンビエント定義ファイルの作成に取り組んできましたが、flotのドキュメント(軸オプション)でこの問題が何度も発生しました。

ticks: null or number or ticks array or (fn: axis -> ticks array) 

したがって、axisOptionsインターフェイスでこれを行うことができます。

interface axisOptions {
    ticks?: any;
}

可能なすべてのオプションをカバーしていますが、それを数値、(数値の)配列、または関数に制限するためのより良い方法はありますが、他には何もありませんか?

4

2 に答える 2

3

現在、複数のタイプを指定することはできません。実際、これは動的anyタイプの完全な使用法です。これは、「何でも」ではありませんが、確かに動的であるためです。

動的型に型を適用するには、次の例のように、それをチェックする必要があります。

function example (input?: any) {
    alert(typeof input);
    if (typeof input !== 'undefined' && typeof input !== 'string' && typeof input !== 'number') {
        alert('no');
        return;
    }

    alert('yes');
}

example(true);
example('Okay');
example();
于 2012-10-12T14:10:34.080 に答える
0

複数のメソッド定義を持つことで、あなたが求めていることのいくつかを達成することができます

interface lodash extends lodashProto, lodashStatic {
  (value: Array): lodashCurried;
  (value: Object): lodashCurried;
  (value: string): lodashCurried;
  VERISON: string;
}
于 2012-10-15T13:01:15.137 に答える