Typescript: referans kullanıcısının uzatmak Resig

oy
2

Ben 'uzatmak' Resig en kullanır mevcut koduna başvuruda çalışıyorum, ama hataların bir demet alıyorum

------ 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/)

hatalar:

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

i sonunda ben typescript uzatmak tabanlı kod yeniden yazmak isterdim biliyoruz, ama o zamana kadar, nasıl yeni koddan başvuru?

neden javascript kodu var olan tip hataları hakkında şikayet - Bu derin bir soru yalvarır tahmin?

Oluştur 02/10/2012 saat 17:47
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
3

Typescript genellikle harici JavaScript kodundan türlerini anlaması mümkün değil.

Sen böylece typescript içine aradığınız 'uzatmak' kod şeklini beyan tip şekli ne olduğunu bilir gerekir:

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

Eğer kaynak dosyalarından başvuru bir' .d.ts' dosyasında, daha düzgün (sadece tek bir dosya proje varsa) doğrudan kaynak dosyasında koymak ya da tam tersine.

Cevap 02/10/2012 saat 18:23
kaynak kullanıcı

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