`strict mode` dalam JavaScript

`strict mode` dalam JavaScript

Artikel ini menjelaskan strict mode dalam JavaScript.

YouTube Video

strict mode dalam JavaScript

Dalam JavaScript, strict mode adalah fitur yang diperkenalkan di ECMAScript 5 (ES5) untuk membuat kode lebih aman dan mencegah kesalahan. Dengan menggunakan strict mode, sintaks yang longgar dan fitur berisiko tertentu dinonaktifkan, serta pemeriksaan kesalahan yang lebih ketat diterapkan. Ini memungkinkan pengembang untuk menghindari perilaku tak terduga dan menulis kode yang lebih andal dan berkinerja tinggi.

Mengaktifkan strict mode

Untuk mengaktifkan strict mode, tambahkan direktif berikut di awal kode Anda.

1"use strict";

Deklarasi ini dapat diterapkan pada seluruh skrip atau pada basis per fungsi. Sebagai contoh, jika diterapkan pada seluruh skrip, Anda dapat menulisnya sebagai berikut:.

1"use strict";
2
3function example() {
4    // Strict mode is applied
5}

Jika diterapkan per fungsi, Anda dapat menulisnya sebagai berikut:.

1function example() {
2    "use strict";
3    // Strict mode is applied only within this function
4}

strict mode berlaku berdasarkan skop, sehingga juga dapat diaktifkan di dalam fungsi. Selain itu, karena strict mode diaktifkan secara default dalam modul, Anda tidak perlu mendeklarasikannya secara individual di dalam modul.

Fitur utama dan perbedaan dari strict mode

Menggunakan strict mode mengubah beberapa perilaku default JavaScript. Berikut adalah contoh utamanya.

Larangan variabel global implisit

Dalam JavaScript biasa, penghilangan deklarasi variabel secara otomatis mendefinisikan mereka sebagai variabel global, tetapi dalam strict mode, ini akan menghasilkan kesalahan.

1"use strict";
2
3x = 10;  // Error: x is not defined

Variabel harus selalu dideklarasikan menggunakan var, let, atau const.

Pembatasan penggunaan kata-kata cadangan

Kata kunci JavaScript potensial di masa depan (misalnya, implements, interface, package, dll.) tidak dapat digunakan sebagai nama variabel atau fungsi dalam strict mode.

1"use strict";
2
3var package = "strict mode";  // Error: Unexpected strict mode reserved word

Perubahan pada perilaku this

Dalam mode normal, this di dalam fungsi merujuk ke objek global (misalnya, window di browser), tetapi dalam strict mode, this adalah undefined.

1"use strict";
2
3function example() {
4    console.log(this);  // undefined
5}
6
7example();

Ini membantu mencegah bug yang disebabkan oleh penggunaan this yang salah.

Larangan menghapus properti yang tidak dapat dihapus

Dalam mode normal, upaya untuk menghapus properti objek yang tidak dapat dihapus akan diabaikan tanpa kesalahan, tetapi dalam strict mode, ini akan menghasilkan kesalahan.

1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name;  // Error: Cannot delete property 'name'

Larangan penggunaan nama parameter yang duplikat

Dalam mode normal, mendeklarasikan parameter dengan nama yang sama beberapa kali diizinkan, tetapi dalam strict mode, ini menyebabkan kesalahan.

1"use strict";
2
3function example(a, a) {
4    // Error: Duplicate parameter name not allowed in this context
5}

Larangan penggunaan pernyataan with

Pernyataan with dapat mengurangi keterbacaan kode dan tidak diizinkan dalam strict mode.

1"use strict";
2
3with (Math) {
4    // Error: Strict mode code may not include a with statement
5}

Keuntungan dari strict mode

strict mode meningkatkan keamanan dan efisiensi kode dengan beberapa cara.

Peningkatan deteksi kesalahan

Dalam strict mode, kesalahan yang terlewatkan dalam mode normal terdeteksi, memungkinkan pengembang menangkap potensi bug lebih dini. Sebagai contoh, ini mencegah pembuatan variabel global yang tidak disengaja dan penyalahgunaan kata-kata yang dicadangkan.

Peningkatan kinerja

Dalam strict mode, mesin JavaScript dapat mengoptimalkan kode dengan lebih efisien. Sebagai hasilnya, kecepatan eksekusi mungkin meningkat.

Keamanan kode yang ditingkatkan

Penanganan this menjadi lebih ketat, mencegah akses ke objek global yang tidak diperlukan, sehingga meningkatkan keamanan kode. Selain itu, pembatasan penggunaan kata-kata yang dicadangkan menghindari konflik di masa depan dengan kata kunci.

Kompatibilitas dan pertimbangan

strict mode diperkenalkan dalam ECMAScript 5 dan tidak didukung di browser yang dirilis sebelum itu. Namun, mengaktifkan strict mode hanya akan diabaikan oleh browser yang tidak mendukungnya, tanpa menyebabkan kerusakan pada skrip. Oleh karena itu, biasanya dapat digunakan dengan aman.

Ketika memperkenalkan strict mode ke proyek besar yang ada, pengujian menyeluruh sangat penting untuk menghindari kesalahan yang tidak terduga.

Kesimpulan

strict mode dalam JavaScript adalah fitur yang sangat berguna untuk meningkatkan kualitas kode. Secara khusus, untuk proyek berskala besar atau pengembangan tim, disarankan untuk secara aktif menggunakan mode ketat untuk mencegah bug dan kesalahan yang tidak terduga, serta meningkatkan keterbacaan dan kemampuan pemeliharaan kode.

Memahami dan menerapkan strict mode dengan benar membantu menghindari jebakan dalam JavaScript dan memungkinkan pengembangan yang lebih aman dan efisien.

Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.

YouTube Video