Wiele typów dla nieruchomości w interfejsie

głosy
2

Pracuję na utworzenie pliku definicji otoczenia dla flot jako ćwiczenie w nauce jakiś maszynopis, ale ja napotkał ten problem wielokrotnie w dokumentacji dla flot (w opcjach oś):

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

Więc mogę zrobić w moim interfejsie axisOptions:

interface axisOptions {
    ticks?: any;
}

Który obejmuje wszystkie możliwe opcje, ale tam jest lepszy sposób, aby ograniczyć go do numeru, tablicę (numerów) lub funkcję, ale nie coś innego?

Utwórz 12/10/2012 o 15:02
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
3

Obecnie nie można określić wiele typów - w rzeczywistości jest to idealne zastosowanie dynamicznego anytypu, bo choć nie jest to „coś”, to z pewnością jest dynamiczna.

Aby wymusić typy od typu dynamicznego, trzeba by to sprawdzić - jak w poniższym przykładzie:

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();
Odpowiedział 12/10/2012 o 15:10
źródło użytkownik

głosy
0

Można wykonać niektóre z czego po przez posiadające wiele definicji metody

interface lodash extends lodashProto, lodashStatic {
  (value: Array): lodashCurried;
  (value: Object): lodashCurried;
  (value: string): lodashCurried;
  VERISON: string;
}
Odpowiedział 15/10/2012 o 14:01
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more