Jshint: Contoh crash yang tidak lengkap

Dibuat pada 2 Okt 2016  ·  8Komentar  ·  Sumber: jshint/jshint

Menulis instanceof yang tidak lengkap melempar Cannot read property 'id' of undefined .

Kode input berikut harus mereproduksi masalah:

var something = [];
if(something instanceof) {
    // Notice the instanceof is missing the class name
}

Saat ini saya menggunakan JSHint 2.9.3

Has PR P2

Komentar yang paling membantu

Dikonfirmasi; terima kasih atas laporannya! Saya telah mengirimkan tambalan untuk memperbaiki bug ini: https://github.com/jshint/jshint/pull/3046.

Semua 8 komentar

Saya mengalami masalah ini melalui paket atom linter-jshint dengan jshint v2.9.3.

Error: C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:5386
        throw err;
        ^

TypeError: Cannot read property 'id' of undefined
    at C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:2131:14
    at Object.x.led (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:1155:16)
    at expression (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:926:36)
    at C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:2051:18
    at Object.x.led (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:1155:16)
    at expression (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:926:36)
    at Object.fud (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:4423:22)
    at expression (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:885:32)
    at statement (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:1636:9)
    at statements (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\jshint\src\jshint.js:1681:16)
    at ChildProcess.<anonymous> (C:\Users\emile.bergeron.CAMINO\.atom\packages\linter-jshint\node_modules\atom-linter\node_modules\sb-exec\lib\index.js:56:20)
    at emitTwo (events.js:100:13)
    at ChildProcess.emit (events.js:185:7)
    at maybeClose (internal/child_process.js:850:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)

Kesalahan yang sama saat membuka komentar seperti ini:

module.exports = {
    attributes: {},
    /*sth: {},
    sth2: function(){}
};

Apakah ini disebabkan oleh alat yang berjalan secara otomatis pada kode yang sedang diedit?

Dalam atom saya menggunakan linter-jshint. Tetapi juga ketika saya menyimpan file dengan konten itu dan menjalankan jshint dari CLI mendapat kesalahan yang sama.

jshint test.js

di file

module.exports = {
    attributes: {},
    /*sth: {}
};

menghasilkan kesalahan:

/usr/local/lib/node_modules/jshint/src/jshint.js:5386
        throw err;
        ^

TypeError: Cannot read property 'id' of null
    at Object.x.nud (/usr/local/lib/node_modules/jshint/src/jshint.js:3240:26)
    at expression (/usr/local/lib/node_modules/jshint/src/jshint.js:888:34)
    at /usr/local/lib/node_modules/jshint/src/jshint.js:1389:20
    at Object.x.led (/usr/local/lib/node_modules/jshint/src/jshint.js:1155:16)
    at expression (/usr/local/lib/node_modules/jshint/src/jshint.js:926:36)
    at statement (/usr/local/lib/node_modules/jshint/src/jshint.js:1636:9)
    at statements (/usr/local/lib/node_modules/jshint/src/jshint.js:1681:16)
    at itself (/usr/local/lib/node_modules/jshint/src/jshint.js:5365:9)
    at lint (/usr/local/lib/node_modules/jshint/src/cli.js:495:8)

    at /usr/local/lib/node_modules/jshint/src/cli.js:656:7

Saya pikir harus ada kesalahan penguraian seperti 'komentar tidak tertutup'.

Tampaknya terkait dengan #2932.

Dan untuk atom linter-jshint , mereka masih menggunakan jshint v2.9.2. Membuka masalah AtomLinter/linter-jshint#353 di sana untuk memperbarui jshint.

Ini sebenarnya menggunakan rentang, tetapi karena pembaruan yang memerlukan instalasi ulang paket untuk sebagian besar pengguna, saya hanya akan menyematkannya.

Saya dapat mengkonfirmasi itu melempar kesalahan yang sama pada demo JSHint .

Dikonfirmasi; terima kasih atas laporannya! Saya telah mengirimkan tambalan untuk memperbaiki bug ini: https://github.com/jshint/jshint/pull/3046.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat