JavaScriptで変数を使ってオブジェクトのキーを動的に設定する方法
JavaScriptで変数を使ってオブジェクトのキーを設定する方法
JavaScriptでは、ブラケット記法(角括弧 [])を使用することで、変数の値をオブジェクトのキーとして動的に設定できます。ドット記法では変数をキーとして扱うことができないため、動的なキー設定にはブラケット記法が必須となります。
以下に、ユーザーが入力したプロパティ名とプロパティ値をオブジェクトに追加するサンプルコードを示します。
コード例
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample {
font-size: 18px;
font-weight: 500;
color: red;
}
</style>
</head>
<body>
<h1>変数でオブジェクトのキーを設定する例</h1>
プロパティ名を入力<input class="pName" type="text" /><br />
プロパティ値を入力<input class="pName" type="text" />
<br />
<div class="sample"></div>
<button class="Btn">CLICK HERE</button>
<h3>
上のボタンをクリックすると、入力したプロパティ名とプロパティ値が
それぞれオブジェクトに設定されます
</h3>
<script>
let sampleEle = document.querySelector(".sample");
let propertyKey = document.querySelector(".pName");
let propertyValue = document.querySelectorAll(".pName")[1];
let testObj = {
a: "Hello",
};
document.querySelector(".Btn").addEventListener("click", () => {
testObj[propertyKey.value] = propertyValue.value;
sampleEle.innerHTML = "testObj[" + propertyKey.value + "] = " + testObj[propertyKey.value];
});
</script>
</body>
</html>
実行結果

プロパティ名とプロパティ値を入力し、「CLICK HERE」ボタンをクリックすると、入力したキーと値がオブジェクトに追加され、画面に結果が表示されます。

コードのポイント
testObj[propertyKey.value] = propertyValue.value;のように、ブラケット内に変数を指定することで、その変数の値がキー名として使用されます。- ES6(ECMAScript 2015)以降では、オブジェクトリテラル内でも
{ [key]: value }という「計算されたプロパティ名(Computed Property Names)」の構文が利用できます。 document.querySelectorAll(".pName")[1]により、同じクラス名を持つ2つ目の入力フィールド(プロパティ値用)を取得しています。
-
JavaScriptのRegExp(正規表現)オブジェクトとは?基本の使い方をわかりやすく解説
RegExp(正規表現)オブジェクトは、テキストに対してパターンマッチングを行い、目的の文字列部分を検索・抽出するために使用されます。JavaScriptでは、RegExpオブジェクトを「RegExpコンストラクタ」または「リテラル構文」の2通りの方法で作成できます。 RegExpオブジェクトの作成方法 コンストラクタを使用する場合: new RegExp(pattern) リテラル構文を使用する場合: /pattern/ 主なメソッド test():文字列がパターンに一致するかどうかを真偽値(true / false)で返します。 exec():パターンに一致した文字列を返します。
-
JavaScriptのオブジェクト初期化子とは?使い方をサンプルコードで解説
オブジェクト初期化子とは オブジェクト初期化子(Object Initializer)は、新しく生成したオブジェクトを初期化するための式です。波括弧 {} の中に、「プロパティ名」と「それに対応する値」のペアを0個以上、カンマ区切りで列挙して記述します。 これにより、変数宣言と同時にオブジェクトの中身を簡単に定義することができます。 以下は、JavaScriptでオブジェクト初期化子を使用したサンプルコードです。 サンプルコード <!DOCTYPE html> <html lang="en"> <head> <meta chars