Untuk waktu yang lama, JavaScript berevolusi tanpa masalah kompatibilitas. Fitur-fitur baru ditambahkan ke bahasa tersebut sementara fungsi lama tidak berubah.
Keuntungannya adalah tidak pernah melanggar kode yang ada. Namun sisi negatifnya adalah setiap kesalahan atau keputusan tidak sempurna yang dibuat oleh pembuat JavaScript akan terjebak dalam bahasa tersebut selamanya.
Hal ini terjadi hingga tahun 2009 ketika ECMAScript 5 (ES5) muncul. Itu menambahkan fitur baru ke bahasa dan memodifikasi beberapa fitur yang sudah ada. Agar kode lama tetap berfungsi, sebagian besar modifikasi tersebut dinonaktifkan secara default. Anda perlu mengaktifkannya secara eksplisit dengan arahan khusus: "use strict" .
Arahannya terlihat seperti string: "use strict" atau 'use strict' . Jika terletak di bagian atas skrip, seluruh skrip bekerja dengan cara “modern”.
Misalnya:
"gunakan ketat"; // kode ini berfungsi dengan cara modern ...
Sebentar lagi kita akan mempelajari fungsi (cara mengelompokkan perintah), jadi perhatikan terlebih dahulu bahwa "use strict" dapat diletakkan di awal suatu fungsi. Melakukan hal itu akan mengaktifkan mode ketat di fungsi itu saja. Tapi biasanya orang menggunakannya untuk keseluruhan script.
Pastikan "use strict" ada di bagian atas
Harap pastikan bahwa "use strict" ada di bagian atas skrip Anda, jika tidak, mode ketat mungkin tidak diaktifkan.
Mode ketat tidak diaktifkan di sini:
alert("beberapa kode");
// "use strict" di bawah diabaikan--harus di atas
"gunakan ketat";
// mode ketat tidak diaktifkan Hanya komentar yang dapat muncul di atas "use strict" .
Tidak ada cara untuk membatalkan use strict
Tidak ada arahan seperti "no use strict" yang mengembalikan mesin ke perilaku lama.
Begitu kita memasuki mode ketat, tidak ada jalan untuk kembali.
Saat Anda menggunakan konsol pengembang untuk menjalankan kode, harap perhatikan bahwa konsol tersebut tidak use strict secara default.
Terkadang, ketika use strict membuat perbedaan, Anda akan mendapatkan hasil yang salah.
Jadi, bagaimana sebenarnya cara use strict di konsol?
Pertama, Anda dapat mencoba menekan Shift + Enter untuk memasukkan beberapa baris, dan meletakkan use strict di atas, seperti ini:
'gunakan ketat'; <Shift+Enter untuk baris baru> // ...kodemu <Masuk untuk menjalankan>
Ini berfungsi di sebagian besar browser, yaitu Firefox dan Chrome.
Jika tidak, misalnya di browser lama, ada cara jelek namun dapat diandalkan untuk memastikan use strict . Masukkan ke dalam pembungkus seperti ini:
(fungsi() {
'gunakan ketat';
// ...kodemu di sini...
})()Pertanyaannya mungkin terdengar jelas, tapi sebenarnya tidak demikian.
Seseorang dapat merekomendasikan untuk memulai skrip dengan "use strict" … Tapi tahukah Anda apa yang keren?
JavaScript modern mendukung “kelas” dan “modul” – struktur bahasa tingkat lanjut (kita pasti akan membahasnya), yang memungkinkan use strict secara otomatis. Jadi kita tidak perlu menambahkan direktif "use strict" , jika kita menggunakannya.
Jadi, untuk saat ini "use strict"; adalah tamu sambutan di bagian atas skrip Anda. Nanti, ketika semua kode Anda ada di kelas dan modul, Anda dapat menghilangkannya.
Saat ini, kita harus mengetahui tentang use strict secara umum.
Pada bab selanjutnya, saat kita mempelajari fitur bahasa, kita akan melihat perbedaan antara mode ketat dan mode lama. Untungnya, jumlahnya tidak banyak dan justru membuat hidup kita lebih baik.
Semua contoh dalam tutorial ini mengasumsikan mode ketat kecuali (sangat jarang) ditentukan sebaliknya.