JavaScript | delete statement
Demonstrates that no exception raises even if non-existent variable, or object field is deleted.
by Zoltan Boros
HTML
<div id="out"></div>
JavaScript
var outElement = document.getElementById("out");
function println(text)
{
outElement.innerHTML += text + "<br />";
}
var foo = "abc";
bar = "def";
println("foo (1): [" + foo + "]");
println("bar (1): [" + bar + "]");
println("Deleting 'foo'. Outcome: " + (delete foo));
println("Deleting 'bar'. Outcome: " + (delete bar));
println("foo (2): [" + foo + "]");
try {
println("bar (2): [" + bar + "]");
} catch (ex) {
println("Failed to read variable 'bar'. Exception: " + ex.toString());
}
var dummyObject = {
a : 1,
b : 2,
c : 3,
d : 4
};
println("dummyObject (1): " + JSON.stringify(dummyObject));
println("Deleting dummyObject['a']. Outcome: " + (delete dummyObject["a"]));
println("Deleting dummyObject['nonExistentField']. Outcome: " + (delete dummyObject["nonExistentField"]));
println("dummyObject (2): " + JSON.stringify(dummyObject));
var fieldsToDelete = ["a", "b", "c", "d", "nonExistentField"];
for(var i in fieldsToDelete)
try {
delete dummyObject[fieldsToDelete[i]];
} catch (ex) {
println("Printout for demo purpose: Failed to delete dummyObject['" + fieldsToDelete[i] + "']. Exception: " + ex.toString());
dummyObject[fieldsToDelete[i]] = undefined;
}
println("dummyObject (3): " + JSON.stringify(dummyObject));