JavaScriptで既存のオブジェクトにプロパティとメソッドを追加する方法
JavaScriptのオブジェクトは動的な性質を持っており、一度作成した後でも、いつでも新しいプロパティやメソッドを追加できます。最もシンプルな方法は、ドット記法(オブジェクト名.プロパティ名)を使って値を代入することです。プロパティに関数を代入すれば、それがそのままメソッドとして機能します。
基本的な書き方
object.newProperty = value;
object.newMethod = function() {
// 処理
};
サンプルコード
以下は、既存の student オブジェクトにプロパティとメソッドを追加し、その内容を画面に表示する完全な例です。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>サンプル</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.result {
font-size: 20px;
font-weight: 500;
color: blueviolet;
}
</style>
</head>
<body>
<h1>JavaScriptで既存のオブジェクトにプロパティとメソッドを追加する</h1>
<div class="result"></div>
<button class="Btn">クリックしてください</button>
<h3>上のボタンをクリックすると、student オブジェクトにプロパティとメソッドを追加して表示します</h3>
<script>
let resEle = document.querySelector(".result");
let BtnEle = document.querySelector(".Btn");
let student = {};
BtnEle.addEventListener("click", () => {
student.name = '山田太郎';
student.age = 16;
student.place = '東京';
student.displayInfo = function(){
return '名前 = '+this.name+' : 年齢 = '+this.age+' : 出身地 = '+this.place;
}
resEle.innerHTML += student.displayInfo();
});
</script>
</body>
</html>
コードのポイント
- 空のオブジェクトを作成: let student = {} でまず空のオブジェクトを定義します。
- プロパティの追加: ボタンのクリックイベント内で、name・age・place の3つのプロパティをドット記法で追加しています。
- メソッドの追加: displayInfo という関数をオブジェクトに代入してメソッド化し、this キーワードで自分自身のプロパティを参照して「名前・年齢・出身地」を整形して返しています。
出力結果

「クリックしてください」ボタンを押すと、追加されたプロパティとメソッドの実行結果が以下のように表示されます。

-
JavaScriptオブジェクトにメソッドを追加・アクセスする方法をわかりやすく解説
JavaScriptでは、オブジェクトのプロパティとして関数(メソッド)を後から動的に追加することができます。ここでは、ドット記法を使ってオブジェクトにメソッドを追加し、それを呼び出してアクセスする方法を紹介します。基本的な考え方JavaScriptのオブジェクトは「プロパティ」と「メソッド」で構成されます。プロパティが値を保持するのに対し、メソッドは関数として定義され、オブジェクトの操作や処理を行います。既存のオブジェクトに新しいメソッドを追加するには、次のようにドット記法で関数を代入します。obj.メソッド名 = function() { ... };メソッド内では this キーワードを
-
JavaScriptでオブジェクトの値を動的に設定する方法をわかりやすく解説
JavaScriptでは、オブジェクトのプロパティ(値)を後から動的に変更・設定することができます。本記事では、ボタンをクリックしたタイミングでオブジェクトの値を書き換える具体的なコード例を紹介します。 実装例:オブジェクトの値を動的に変更する 以下のコードでは、student オブジェクトの name プロパティと age プロパティを、ボタンクリック時に動的に更新しています。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" />