2017-07-04 20 views
0

我想用fallback選項替換字符串。例如如何用替代選項替換字符串?

var x = " Hello {{first_name | fallback : 'User' }} " 
var f_name = "ME"; 

在上述情況下,我想如果f_name定義那麼結果會喜歡這個

​​

其他明智的結果將是

Hello User 

,所以我怎麼能做到這一點?

+1

您是否使用jQuery的任何框架或視圖插件?因爲JavaScript或jQuery本身不支持該表示法。 – str

+0

我正在使用快速框架 –

+2

@Kirill因爲'「Hello」+(first_name ||「User」)'更優雅:) –

回答

6

ES5:

var x = "Hello " + (first_name || "User") 

ES6:

let x = ´Hello ${first_name || "User"}´ 

編輯在評論你的新問題後:如果你想申請一個replace什麼:

var x = "Hello " + (first_name ? first_name.replace(/some.RegEx/g, '') : "User") 
+0

謝謝@Jeremy Thille :) –

+0

我們可以做更多的動態嗎?我的意思是使用正則表達式或其他任何東西? –

+0

例如:如果f_name被定義爲使用像x.replace這樣的正則表達式替換(這裏是一些正則表達式代碼,f_name)。 –

0

這應該工作。

x = x + (f_name === null ? "User" : f_name); 
+0

仔細檢查它,如果未定義f_name,則不會按預期工作。 – dloeda

+0

你說得對。爲此,f_name必須被定義。我誤解了。 –