いわゆる、eval的な挙動になります。あまり文章で説明してもピンと来づらいと思いますので、実際の使用例を先にご紹介します。始めに断っておくと、あまり推奨できる方法ではありません。
例えば次のような構造のデータからnameの値を抽出する場合、普通は次のようにforループを回します。
東京オフィス 札幌オフィス
ここまでは何も問題ありません。では、forループ内でオフィス名を出力している「item.name」の「name」をハードコードしないで出力したい場合、どうすればよいでしょうか?
今回は仮に「name」というkeyが、「name_key」という変数に値として格納されているとしましょう。雰囲気的には次のような感じですが、当然次のコードは動きません。
これは次のように書くことで、期待通りの出力を得ることが可能です(変数宣言は同じなので省略します)。
ここまでの解説ではただ単に非現実的で、使いどころのないコードに思えます。この方法が必要になるのは、次のように「プロパティの数が可変なテーブル的構造のデータを、自動でで出力したい」という場合です。
次のデータを先ほどの方法を使用して、tableタグで出力してみます。