MENU
delete
You can 'delete' an object property.It has been known that 'delete' is a relatively slow operation (as of July 2017).
RESETRUNFULL
<!DOCTYPE html><html><body><script>
var iterationsTotal = 10000000; // 10 millionvar o;var t1 = Date.now(),t2;for (let i=0; i<iterationsTotal; i++) {
o = {a:1,b:2,c:3,d:4,e:5};
delete o.a; delete o.b; delete o.c; delete o.d; delete o.e;}console.log ((t2=Date.now())-t1); // 6135for (let i=0; i<iterationsTotal; i++) {
o = {a:1,b:2,c:3,d:4,e:5};
o.a = o.b = o.c = o.d = o.e = undefined;}console.log (Date.now()-t2); // 205
</script></body><html>
<!DOCTYPE html><html><body><script>
var o = {a:1,b:2};delete o.a;console.log('a' in o); // falseconsole.log(JSON.stringify(o)); // {"b":2}o.b=undefined;console.log('b' in o); // trueconsole.log(JSON.stringify(o)); // {}
</script></body><html>
Be careful when you try to 'delete' an element from an array.
RESETRUNFULL
<!DOCTYPE html><html><body><script>
var a = [1,2,3];delete a[1];console.log(a); // [1,undefined,3]a.splice(1,1);console.log(a); // [1,3]
</script></body><html>
You can't delete a variable solely:
RESETRUNFULL
<!DOCTYPE html><html><body><script>
var a = 10;delete a;console.log(a); // 10a = undefined;console.log(a); // undefined
</script></body><html>