Typescript: Pengetikan ini tidak dihormati

Dibuat pada 9 Des 2016  ·  1Komentar  ·  Sumber: microsoft/TypeScript

TypeScript Version: 2.0.3

Kode

interface UIElement {
    addClickListener(onclick: (this: UIElement, e: Event) => void): void;
    prop: number;
}

let uiElement: UIElement;
uiElement.addClickListener(() => {
    var k = this.prop;
});

Perilaku yang diharapkan:

Tidak ada kesalahan

Perilaku sebenarnya:
tsc.exe --noImplicitBlah.ts ini
blah.ts (8,10): error TS2683: 'this' secara implisit memiliki tipe 'any' karena tidak memiliki penjelasan tipe.

Question

Komentar yang paling membantu

Dalam contoh Anda, Anda menggunakan fungsi panah - jadi this tersedia di dalam fungsi ini sama dengan this luar - yang tidak memiliki informasi jenis (apa saja)

Gunakan function dan Anda mengetik ini:

interface UIElement {
    addClickListener(onclick: (this: UIElement, e: Event) => void): void;
    prop: number;
}

let uiElement: UIElement;
uiElement.addClickListener(function() {
    var k = this.prop;
});

Tingkah laku itu terlihat bagus bagiku. Itu menangkap kesalahan terkait dengan penyalahgunaan fungsi panah.

>Semua komentar

Dalam contoh Anda, Anda menggunakan fungsi panah - jadi this tersedia di dalam fungsi ini sama dengan this luar - yang tidak memiliki informasi jenis (apa saja)

Gunakan function dan Anda mengetik ini:

interface UIElement {
    addClickListener(onclick: (this: UIElement, e: Event) => void): void;
    prop: number;
}

let uiElement: UIElement;
uiElement.addClickListener(function() {
    var k = this.prop;
});

Tingkah laku itu terlihat bagus bagiku. Itu menangkap kesalahan terkait dengan penyalahgunaan fungsi panah.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

weswigham picture weswigham  ·  3Komentar

uber5001 picture uber5001  ·  3Komentar

manekinekko picture manekinekko  ·  3Komentar

Antony-Jones picture Antony-Jones  ·  3Komentar

Roam-Cooper picture Roam-Cooper  ·  3Komentar