Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在javascript字符串插值中执行三元表达式吗?_Javascript_Jquery_Interpolation - Fatal编程技术网

可以在javascript字符串插值中执行三元表达式吗?

可以在javascript字符串插值中执行三元表达式吗?,javascript,jquery,interpolation,Javascript,Jquery,Interpolation,我有一个变量: var foobar = "Hi, my name is #{name}"; 但若页面加载时未定义名称。。我希望它能保存“未知” 但是写这样的东西: var foobar = "Hi, my name is #{typeof name === 'undefined' ? 'unknown' : name}"; 仍然返回错误,未知变量名只需将名称放入其中。如果未定义或为空,则为“false” 把名字写进去就行了。如果未定义或为空,则为“false” 与其在字符串构造中进行逻辑决

我有一个变量:

var foobar = "Hi, my name is #{name}";
但若页面加载时未定义名称。。我希望它能保存“未知”

但是写这样的东西:

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

仍然返回错误,
未知变量名

只需将名称放入其中。如果未定义或为空,则为“false”


把名字写进去就行了。如果未定义或为空,则为“false”


与其在字符串构造中进行逻辑决策,不如在外部进行,以获得更好的性能和(远)更可读的代码:


name=name | |“未知”

不要在字符串构造中进行逻辑决策,而是在外部进行,以获得更好的性能和(远)更可读的代码:


name=name | |“未知”

我认为更好的方法是:

var name = name || "Unknown";
var foobar = 'Hi my name is ' + name;

我认为更好的方法是:

var name = name || "Unknown";
var foobar = 'Hi my name is ' + name;


这是使用的模板语言,语法是什么?
“嗨,我的名字是#{name}”
?@RocketHazmat我想这是一个Ruby的东西。这是我唯一见过这种特定语法的地方。@Trip,请指定使用的模板语言。否则,你的问题就不会有好的答案。@RocketHazmat确实!让我们更加困惑,嗯?:)这是使用的模板语言,语法是什么?
“嗨,我的名字是#{name}”
?@RocketHazmat我想这是一个Ruby的东西。这是我唯一见过这种特定语法的地方。@Trip,请指定使用的模板语言。否则,你的问题就不会有好的答案。@RocketHazmat确实!让我们更加困惑,嗯?:)你在这里用什么语法?不知道。我遵循OP使用的语法。如果他的代码能够尝试读取#{}中的内容(返回的名称未定义),那么他的问题应该只是让内部的三元正确工作,这就是问题的关键。如果他的模板不支持该语法,并且试图将表达式作为变量名读取,该怎么办^_^那么问题的重点就没有意义了,需要一个不同的解决方案。但是我对这个问题进行了字面解释,这似乎是这里的规则。我想也许你知道他使用的引擎:-p你在这里使用什么语法?不知道。我遵循OP使用的语法。如果他的代码能够尝试读取#{}中的内容(返回的名称未定义),那么他的问题应该只是让内部的三元正确工作,这就是问题的关键。如果他的模板不支持该语法,并且试图将表达式作为变量名读取,该怎么办^_^那么问题的重点就没有意义了,需要一个不同的解决方案。但我对这个问题的字面解释似乎是这里的规则。我想也许你知道他使用的引擎:-P@f00bar当然,一艘班轮。但是,如果您必须进行任何严肃的客户端模板制作,这就没有抓住要点。同意@Mathletics。我还喜欢通过结合javascript的类型独立性来缩短三元操作的需要。@f00bar当然,对于一行程序。但是,如果您必须进行任何严肃的客户端模板制作,这就没有抓住要点。同意@Mathletics。我还喜欢通过结合javascript的类型独立性来缩短对三元操作的需求。