プロパティの追加と削除

広告

作成したオブジェクトに対してプロパティを追加する場合は、追加したいプロパティに値を代入することで作成することができます。次の例を見てください。

var obj = {a:100, b:80};

このオブジェクトに新しいプロパティを追加するには次のように記述します。

var obj = {a:100, b:80};

obj.c = 92;
obj["d"] = 76;

このように追加したいプロパティに対して何らかの値を代入した時点でプロパティが追加されます。

プロパティの削除

プロパティを削除したい場合にはdelete演算子を使用します。書式は次の通りです。

delete オブジェクト名.プロパティ名
delete オブジェクト名["プロパティ名"]

delete演算子の右側に削除したいプロパティを記述します。プロパティはドット演算子を使って表してもいいですし連想配列の形で表しても構いません。

例えば次のように記述します。

var obj = {x:100, y:80, z:92};

delete obj.y;

delete演算子を使用するとプロパティそのものが削除されます。

サンプルコード

では簡単なサンプルで試してみます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>JavaScript テスト</title>
</head>
<body>

<script type="text/javascript" src="./js/script5_1.js">
</script>

</body>
</html>
var obj = {Tokyo:92, Osaka:85};

obj.Nagoya = 104;
obj["Fukuoka"] = 67;

document.write("<p>");

for (var pname in obj){
  document.write(pname + " = " + obj[pname] + "<br />");
}

document.write("</p>");

delete obj.Tokyo;
delete obj["Nagoya"];

document.write("<p>");

for (var pname in obj){
  document.write(pname + " = " + obj[pname] + "<br />");
}

document.write("</p>");

上記を実際にブラウザ見てみると次のように表示されます。

p5-1

( Written by Tatsuo Ikura )