Maszynopis: przedstawieniu Resig rozciągają

głosy
2

Staram się odwoływać istniejący kod, który używa Resig na „przedłużyć”, ale jestem coraz kilka błędów

------ test.ts --------

/// <reference path=myclass.js />
var m = new MyClass (3);

------ myclass.js --------

/// <reference path=class.js />

var MyClass = Class.extend({

    init: function (i)
    {
        this.i = i;
    },
})

------ class.js --------

(copied from http://ejohn.org/blog/simple-javascript-inheritance/)

błędy:

Supplied parameters do not match any signature of call target
The name 'Class' does not exist in the current scope
The property 'extend' does not exist on value of type '() => void'
The name 'Class' does not exist in the current scope

Zdaję sobie sprawę, że w końcu będę chcą przepisać kod przedłużyć do opartej na maszynopis, ale dopiero wtedy, jak mogę odwołać go z nowym kodem?

Chyba to nasuwa się głębsze pytanie - dlaczego jest ona narzeka błędów wpisać w istniejące kodu javascript?

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


1 odpowiedzi

głosy
3

Maszynopis generalnie nie można wywnioskować z rodzajów zewnętrznego kodu JavaScript.

Musisz zadeklarować kształt kodem „przedłużyć” jesteś uniemożliwiającego tak, że maszynopis wie co kształt typu jest:

declare class Class {
    static extend(body: any);
}

Można też umieścić, że w pliku źródłowym bezpośrednio (jeśli tylko masz projekt pojedynczego pliku), lub bardziej poprawnie, w pliku”.d.ts których odniesienia z plikami źródłowymi.

Odpowiedział 02/10/2012 o 18:23
źródło użytkownik

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