"Token yang tidak dijangka HARAM": Pesalah Tersembunyi
Walaupun penampilannya yang mudah, kod yang menyebabkan ralat "Token yang tidak dijangka HARAM" mengandungi watak yang tidak kelihatan yang menjadi punca sebenar. Watak halimunan ini ialah aksara ruang Unicode U 200B Zero-width space (ZWSP).
Asal Usul Watak Halimunan
Sumber watak ZWSP selalunya tidak diketahui, tetapi ia biasanya ditemui dalam kod yang ditampal daripada jsfiddle atau alat pembangun Chrome. Dalam jsfiddle, watak digunakan untuk mengawal pembungkus perkataan.
Mengenal pasti Watak Halimunan
Walaupun tidak kelihatan, watak ZWSP boleh dikesan dengan mendayakan paparan halimunan aksara dalam editor kod anda atau menggunakan alat nyahpepijat dalam talian. Editor seperti Vim memaparkan watak sebagai
Kesan dan Masalah Berkaitan
The Watak ZWSP boleh menyebabkan pelbagai masalah, termasuk:
ECMAScript Spesifikasi
Spesifikasi ECMAScript tidak secara eksplisit menyebut aksara U 200B sebagai token yang tidak dijangka. Walau bagaimanapun, ia mencadangkan bahawa aksara yang serupa (U 200C dan U 200D) harus dianggap sebagai sebahagian daripada pengecam apabila tidak berada dalam elemen kod tertentu. Tingkah laku pelaksanaan (Chrome dan Firefox) dalam menganggap ZWSP sebagai token yang tidak dijangka kelihatan tidak konsisten dengan spesifikasi.
Atas ialah kandungan terperinci Mengapa Kod JavaScript Saya Membuang Ralat 'Token Tidak Dijangka HARAM'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!