Adakah Kata Kunci JavaScript 'baru' Memudaratkan?
Perdebatan mengenai kata kunci 'baru' dalam JavaScript telah dicetuskan oleh kebimbangan yang dinyatakan oleh penyokong amalan pengekodan selamat. Walau bagaimanapun, faedah menggunakan 'baharu' melebihi potensi risiko.
Kelebihan Menggunakan 'baharu'
Kelemahan Penggunaan 'baharu'
Strategi Mitigasi
Kelemahan ini boleh didapati dengan mudah dipulihkan:
function foo() { if (!(this instanceof foo)) { return new foo(); } // Constructor logic follows... }
Dengan memasukkan kod ini, anda boleh mengelakkan penyalahgunaan secara tidak sengaja dan mengekalkan faedah 'baharu.'
Pemeriksaan Kewarasan Tujuan Am
Untuk keselamatan yang lebih baik, pertimbangkan penegasan atau masa jalan pengecualian:
if (!(this instanceof arguments.callee)) { throw new Error("Constructor called as a function"); }
Nota: Penggunaan arguments.callee ditamatkan dalam mod ketat ES5.
ES6 dan Keselamatan Dipertingkat
Kesimpulan
Dengan langkah berjaga-jaga yang sewajarnya, 'baru' kekal sebagai alat yang sangat diperlukan dalam JavaScript. Ia menyediakan warisan berorientasikan objek, faedah prestasi dan pengurangan ralat. Dengan melaksanakan pemeriksaan keselamatan, anda boleh memanfaatkan kuasa 'baharu' tanpa menjejaskan kualiti atau kebolehpercayaan kod.
Atas ialah kandungan terperinci Adakah Kata Kunci JavaScript `baru` Diperlukan Walaupun Terdapat Kemungkinan Perangkap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!