Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can you perform a ternary expression in a javascript string interpolation?

I have this variable :

var foobar = "Hi, my name is #{name}";

But if name is not defined at load of the page.. I'd like it to save "unknown" instead.

But writing something like this :

var foobar = "Hi, my name is #{typeof name === 'undefined' ? 'unknown' : name}";

Still returns the error, unknown variable name

like image 457
Trip Avatar asked Apr 10 '26 07:04

Trip


2 Answers

Instead of making logic decisions within a string construct, do it outside for better performance and (far) more readable code:

name = name||'unknown';

like image 104
Niels Keurentjes Avatar answered Apr 12 '26 19:04

Niels Keurentjes


I think a better method would be:

var name = name || "Unknown";
var foobar = 'Hi my name is ' + name;
like image 31
Marcos Avatar answered Apr 12 '26 19:04

Marcos