2017-06-02 8 views
1

私はjavascript初心者です。JavaScript、文字列補間された関数名

私はコードの行を持っている:

data.content_teaser.image_square_attachment_url 

正方形は変更することができます。私は'square'、または'vertical'または'horizontal'ことができるのcontentTypeという変数を持っています。

ルビーでは、文字列補間で送ることができますが、どのようにjsで同じものを得ることができますか?

あなたはES2015以来のJavascriptの文字列補間を使用することができます"data.content_teaser.image_" + contentType + "_attachment_url"

+0

を? –

+0

varのメソッド名の文字列を使ってどうやって変更できるのですか... –

+0

関数名を変更する必要がありますか? –

答えて

0

Javascriptには、オブジェクトのプロパティ/メソッド(ドット表記法と角括弧表記法)にアクセスする2つの方法があります。後者は、どんな文字列でも普通の方法で構築できる文字列を使用します。したがって、これらの2は等価です。だから、

data.content_teaser.image_square_attachment_url; 
data.content_teaser["image_square_attachment_url"]; 

、あなたの質問に答えるために:だからあなたは何を期待します

var contentType = "square"; 
var result = data.content_teaser["image_" + contentType + "_attachment_url"];