Adakah Kata Kunci "baru" JavaScript Memudaratkan?
Kata kunci "baharu" JavaScript telah mencetuskan kontroversi, dengan sesetengah pihak membantah penggunaannya disebabkan oleh persepsi risiko. Walau bagaimanapun, pemeriksaan lebih dekat mendedahkan banyak kelebihan menggunakan "baharu."
Kelebihan Menggunakan "baharu"
Kelemahan daripada "baharu"
Mengurangkan Kelemahan
Untuk menangani kelemahan ini, semakan ringkas boleh ditambah pada setiap fungsi:
function foo() { // If "new" is omitted, silently correct the problem if (!(this instanceof foo)) { return new foo(); } // Constructor logic follows... }
Ini memastikan objek sentiasa dibina dengan betul, menghapuskan risiko kegagalan senyap.
Kas pada masa hadapan
ES5 memperkenalkan mod ketat, yang tidak membenarkan binaan tertentu, termasuk "arguments.callee." Oleh itu, semakan yang dinyatakan di atas mungkin perlu diubah suai dalam mod ketat:
function foo() { // Check for "new" using new.target (ES6) if (!(new.target)) { throw new Error("Constructor called as a function"); } // Constructor logic follows... }
Kesimpulan
Walaupun kata kunci "baharu" mempunyai kaveatnya, ia kekal sebagai alat penting dalam JavaScript. Dengan memahami kelebihannya dan mengurangkan potensi risikonya, pembangun boleh memanfaatkan kuasa "baharu" dengan selamat untuk penciptaan objek dan penggunaan semula kod.
Atas ialah kandungan terperinci Adakah Kata Kunci `baru` JavaScript Lebih Berguna Daripada Memudaratkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!