Perintah delete pada JavaScript digunakan untuk membuang item dari sebuah object. Saat membuat program, ada kemungkinan kita melakukan kesalahan dengan melakukan perintah delete pada object atau pada variable (ini tidak bisa dilakukan).
var myObj = {a: 1, b:2};
delete myObj.a; //perintah delete yang benar
delete myObj; //perintah delete tidak bisa dilakukan disini
console.log(myObj);
Program kecil diatas sebetulnya ada error, namun JavaScript akan mengabaikan dan tetap akan mencetak kelayar nilai myObj.
Untuk program skala kecil, tentu kita jarang melakukan kesalahan seperti ini. Namun untuk program skala besar, ada kemungkinan kita hendak menghapus item sebuah objek tetapi malahan menghapus objeknya.
Jika digunakan strict mode, maka JavaScript akan menampilkan error yang menyatakan tidak bisa melakukan perintah delete terhadap object. JavaScript akan menampilkan SyntaxError: Delete of an unqualified identifier in strict mode.
'use strict';
var myObj = {a: 1, b:2};
delete myObj.a; //perintah delete yang benar
delete myObj; //perintah delete tidak bisa dilakukan disini
console.log(myObj);
Kesimpulan
Menggunakan strict mode merupakan best practice, karena dapat mencegah error yang diabaikan oleh JavaScript, seperti menghapus object yang tidak bisa dihapus.