【JavaScript】delete演算子

  • このエントリーをはてなブックマークに追加

配列の要素とオブジェクトのプロパティはdelete演算子を使って削除可能である。
しかし、次のようにdelete演算子の挙動が複雑である。

私は、挙動が複雑なdelete演算子は使わないことにする。代わりにMap Objectを使うことにする。




const my = {};
my.aa = {};
my.aa["ab"] = 100;
my.aa["abc"] = 200;
my.aa["abcd"] = 300;

console.log("my.aa.length=" + Object.keys(my.aa).length); //3
console.log("my.aa.length=" + my.aa.length); //undefined

console.log("my.aa[abc]=" + my.aa["abc"]); //200

delete my.aa["abc"];

console.log("my.aa[abc]=" + my.aa["abc"]); //undefined

console.log("my.aa.length=" + Object.keys(my.aa).length); //2
console.log("my.aa.length=" + my.aa.length); //undefined

const aa = [];
aa[0] = 100;
aa[1] = 200;
aa[2] = 300;

console.log("Object.keys(aa).length=" + Object.keys(aa).length); //3
console.log("aa.length=" + aa.length); //3

console.log("aa[1]=" + aa[1]); //200

delete aa[1];

console.log("aa[1]=" + aa[1]); //undefined

console.log("Object.keys(aa).length=" + Object.keys(aa).length); //2
console.log("aa.length=" + aa.length); //3
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*