`strict mode` dalam JavaScript

`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.

YouTube Video