`strict mode` dalam JavaScript
Artikel ini menerangkan strict mode
dalam JavaScript.
YouTube Video
strict mode
dalam JavaScript
Dalam JavaScript, strict mode
adalah ciri yang diperkenalkan dalam ECMAScript 5 (ES5) untuk menjadikan kod lebih selamat dan mencegah kesilapan. Dengan menggunakan strict mode, sintaks yang terlalu longgar dan ciri-ciri yang berpotensi berisiko akan dinyahaktifkan, dan semakan ralat yang lebih ketat akan dikuatkuasakan. Ini membolehkan pembangun mengelakkan tingkah laku yang tidak dijangka dan menulis kod yang lebih kukuh serta berprestasi tinggi.
Mengaktifkan strict mode
Untuk mengaktifkan strict mode
, tambahkan arahan berikut di permulaan kod anda.
1"use strict";
Pernyataan ini boleh digunakan untuk keseluruhan skrip atau berdasarkan per fungsi. Sebagai contoh, jika diterapkan pada keseluruhan skrip, anda boleh menulisnya seperti berikut:.
1"use strict";
2
3function example() {
4 // Strict mode is applied
5}
Jika diterapkan pada setiap fungsi, anda boleh menulisnya seperti berikut:.
1function example() {
2 "use strict";
3 // Strict mode is applied only within this function
4}
strict mode
digunakan berdasarkan skop tertentu, jadi ia juga boleh diaktifkan di dalam fungsi. Selain itu, kerana mod ketat
diaktifkan secara lalai dalam modul, anda tidak perlu mengisytiharkannya secara individu dalam modul tersebut.
Ciri utama dan perbezaan strict mode
Menggunakan strict mode
mengubah beberapa kelakuan lalai dalam JavaScript. Berikut adalah contoh utama.
Pengharaman pembolehubah global secara implisit
Dalam JavaScript biasa, mengabaikan pengisytiharan pembolehubah secara automatik mentakrifkannya sebagai pembolehubah global, tetapi dalam strict mode
, ini menyebabkan ralat.
1"use strict";
2
3x = 10; // Error: x is not defined
Pembolehubah mesti sentiasa diisytiharkan menggunakan var
, let
, atau const
.
Sekatan penggunaan kata kunci yang dikhaskan
Kata kunci JavaScript yang berpotensi di masa depan (contohnya, implements
, interface
, package
, dan sebagainya) tidak boleh digunakan sebagai nama pembolehubah atau nama fungsi dalam strict mode
.
1"use strict";
2
3var package = "strict mode"; // Error: Unexpected strict mode reserved word
Perubahan dalam tingkah laku this
Dalam mod biasa, this
di dalam fungsi merujuk kepada objek global (contohnya, window
dalam pelayar), tetapi dalam strict mode
, this
ialah undefined
.
1"use strict";
2
3function example() {
4 console.log(this); // undefined
5}
6
7example();
Ini membantu mencegah pepijat yang disebabkan oleh penggunaan this
yang salah.
Pengharaman pemadaman sifat yang tidak boleh dipadamkan
Dalam mod biasa, cuba memadam sifat objek yang tidak boleh dipadam diabaikan tanpa ralat, tetapi dalam strict mode
, ini akan membuang ralat.
1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name; // Error: Cannot delete property 'name'
Pengharaman nama parameter yang berulang
Dalam mod biasa, mengisytiharkan parameter dengan nama yang sama berulang kali dibenarkan, tetapi dalam strict mode
, ini menyebabkan ralat.
1"use strict";
2
3function example(a, a) {
4 // Error: Duplicate parameter name not allowed in this context
5}
Larangan penyataan with
Penyataan with
boleh mengurangkan kebolehbacaan kod dan tidak dibenarkan dalam strict mode
.
1"use strict";
2
3with (Math) {
4 // Error: Strict mode code may not include a with statement
5}
Kelebihan strict mode
strict mode
meningkatkan keselamatan dan kecekapan kod dengan beberapa cara.
Pengesanan ralat yang diperbaiki
Dalam strict mode
, ralat yang tidak dinyatakan dalam mod biasa dikesan, membolehkan pembangun menangkap pepijat berpotensi lebih awal. Sebagai contoh, ia menghalang penciptaan pemboleh ubah global yang tidak disengajakan dan penyalahgunaan perkataan simpanan.
Prestasi yang diperbaiki
Dalam strict mode
, enjin JavaScript boleh mengoptimumkan kod dengan lebih cekap. Hasilnya, kelajuan pelaksanaan mungkin meningkat.
Keselamatan kod yang ditambah baik
Pengendalian this
menjadi lebih ketat, menghalang akses kepada objek global yang tidak perlu, seterusnya meningkatkan keselamatan kod. Tambahan pula, sekatan pada penggunaan perkataan simpanan mengelakkan konflik dengan kata kunci pada masa hadapan.
Keserasian dan pertimbangan
strict mode
diperkenalkan dalam ECMAScript 5 dan tidak disokong dalam pelayar yang dikeluarkan sebelum itu. Walau bagaimanapun, mengaktifkan strict mode
hanya diabaikan oleh pelayar yang tidak disokong, tanpa memecahkan skrip. Oleh itu, ia biasanya boleh digunakan dengan selamat.
Apabila memperkenalkan strict mode
kepada projek besar yang sedia ada, ujian yang teliti adalah penting untuk mengelakkan ralat yang tidak dijangka.
Kesimpulan
strict mode
dalam JavaScript adalah ciri yang sangat berguna untuk meningkatkan kualiti kod. Khususnya, untuk projek berskala besar atau pembangunan berkumpulan, adalah disyorkan untuk menggunakan mod ketat secara aktif untuk mengelakkan pepijat dan ralat yang tidak dijangka, serta meningkatkan kebolehbacaan dan kebolehselenggaraan kod.
Memahami dan menerapkan strict mode
dengan betul membantu mengelakkan perangkap JavaScript dan membolehkan pembangunan yang lebih selamat dan cekap.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.