【发布时间】:2019-01-08 09:30:23
【问题描述】:
我有存储从数据库检索到的信息的代码。
因为我的 JavaScript 代码是异步的并且需要时间来检索数据,我认为它会存储错误而不是数据。
有一个现有的辅助函数可以检查嵌套对象的最高级别。我想让这个函数更短,并阻止三元运算符返回''。
const ratingAggregateCount = IsNestedObjectKeyPresent(currentProjectDetails, "ratingAggregate", "count") ? currentProjectDetails.ratingAggregate.count : '';
const ratingAggregateAverage = sNestedObjectKeyPresent(currentProjectDetails, "ratingAggregate", "average") ? currentProjectDetails.ratingAggregate.average.toFixed(1) : '';
const ratingWiseCounts = (!!currentProjectDetails.ratingWiseCounts ) ? currentProjectDetails.ratingWiseCounts : '';
【问题讨论】:
-
您可以将
const ratingWiseCounts = (!!currentProjectDetails.ratingWiseCounts ) ? currentProjectDetails.ratingWiseCounts : '';缩短为const ratingWiseCounts = currentProjectDetails.ratingWiseCounts || ''; -
@B001 是 !!true = true 但起初你得到 Null 或 Number ,这不是布尔值 所以示例 7 = 7,!7 = false ,!!7 = true,用它来得到真假。
-
我想缩短三元运算符,例如删除值:" " .. 那个空白字符串和所有
-
@AkhilNair 三元组中的条件被视为布尔值,
!!是多余的。 -
@estus 哦!明白了,所以 (currentProjectDetails.ratingWiseCounts) 无论是真还是假!!
标签: javascript reactjs ternary-operator