我正在尝试了解HomeAssistant前端源代码。我找到了我不太了解的函数定义。我不明白这种语法(model.entity是一个字符串)......
export function createHasDataGetter(model) {
return [
['restApiCache', model.entity],
entityMap => !!entityMap,
];
}
看起来像smth:
return [[string, string], bool]
?
这个功能的exacly teturn类型是什么?这只是bool吗?如果是,那是否意味着entityMap是字符串数组?
答案 0 :(得分:3)
请参阅"Truthy" on MDN:
在JavaScript中,truthy值是在布尔上下文中计算时转换为
true
的值。所有值都是真实的,除非它们被定义为假(即false
,0
,""
,null
,undefined
和{{1}除外})。
NaN
将entityMap => !!entityMap
映射到规范的布尔值entityMap
或true
。另请参阅What is "!!" in C?。
如果false
具有真值,则entityMap
为!entityMap
,false
为!!entityMap
。
如果true
有假值,则entityMap
为!entityMap
且true
为!!entityMap
。