三元运算符在.text()中工作吗

Will a ternary operator work inside .text()?

本文关键字:工作 text 运算符 三元      更新时间:2023-09-26

我想为DB中的每个"answerswer_"将其附加到DOM中。

.append('<span>')
.text(format_date(answer_.LastModifiedDate))

但是LastModifiedDate并不总是存在。我可以在文本字段中检查LastModifiedDate吗?也许是这样?

.append('<span>')
.text((answer_.LastModifiedDate) ? format_date(answer_.LastModifiedDate) : '')

这不起作用。。。

编辑

我只是在愚蠢地检查答案_ LastModifiedDate,而不是只是回答。所以下面的行是有效的。感谢所有的回复!

.append('<span>')
.text((answer_) ? format_date(answer_.LastModifiedDate) : '')

当然可以。三元运算符适用于通常可以放置变量的任何位置。它们的计算结果是一个值,就像您使用字符串文字一样。

正如@FreeAsInBeer所指出的,三元法无处不在
代码的唯一问题是,不能只使用一个(可能(不存在的值作为布尔值来检查它是否已定义;您将如何检查是否存在一个包含"false"的变量?相反,您需要检查变量类型:

.text(typeof answer_.LastModifiedDate !== 'undefined' ? format_date(answer_.LastModifiedDate) : '')

我愚蠢地检查answer_.LastModifiedDate,而不是只是回答。所以下面的行是有效的。感谢所有的回复!

.append('<span>')
.text((answer_) ? format_date(answer_.LastModifiedDate) : '')