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