こんにちは。
以下のようにブラケット表記法によるプロパティアクセスを使えばよいです。
javascript
1var hoge = "object2";
2
3const object1 = {
4 object2: {
5 value: "key"
6 }
7};
8
9console.log(object1[hoge].value); // => "key"
10
動作確認用のサンプル: https://jsfiddle.net/jun68ykt/x9bwcd7L/1/
以下、ブラケット表記法 について説明する文章の引用です。
1. MDN
プロパティへのアクセス
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Property_Accessors
オブジェクトのプロパティへのアクセスは、ドット表記法またはブラケット表記法を使用して行われます。
2.「開眼! JavaScript 言語仕様から学ぶJavaScriptの本質」
オブジェクトのプロパティは、ドット記法もしくはブラケット記法で取得・設定・更新することができます。オブジェクトの操作には、簡単で読みやすいドット記法が 一般的に使われます。
以上、開眼! JavaScript 言語仕様から学ぶJavaScriptの本質 2.3 節冒頭より引用
上記の書籍に掲載されている、ドット記法とブラケット記法によるプロパティアクセスを説明するサンプルコードが以下です。
・ドット記法: http://jsfiddle.net/jseja/EBTcz
・ブラケット記法: http://jsfiddle.net/jseja/EmGUq ※1
※1: Console に何も表示されない場合、FRAMEWORK & EXTENSIONS で、 No-Library (pure JS)を選ぶと表示されるようになるかもしれません。
以上参考になれば幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。