排行榜示例,与'selected_name'返回值
leaderboard example, confusion with 'selected_name' return value
在排行榜示例中,在leaderboard.html中,为什么对{{selected_name}}的调用会返回selected_name字符串,而在函数所在的leaderboard.js文件中,它会返回布尔值?我知道这更多的是一个JS问题,但我只是想让我的头脑围绕它
您正在考虑以下代码?
Template.leaderboard.selected_name = function () {
var player = Players.findOne(Session.get("selected_player"));
return player && player.name;
}
虽然&&
-运算符是布尔运算符,但它不会返回布尔值。"正确的方法"当然是只有return player.name
,但如果Players.find
返回null
(不存在具有所选id的玩家),则此代码在执行时会崩溃。为了避免这种情况的发生,使用了&&
-运算符的小破解,这确保了只有在player
不是falsye(而不是null
)的情况下才执行player.name
。操作符的结果是它的右手边,所以会返回玩家的名字(或者null
,如果是null
,则是它的左手边)。
相关文章:
- Javascript返回值只在循环中返回一次
- XMLHttpRequest未返回值-状态202
- 根据是否解析了 Promise 从函数返回值
- Angular,函数在(模型)工厂中返回值
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 如何从客户端的数组中获取用户输入和返回值
- Javascript中带有返回值的嵌套函数
- 为变量分配多个nodejs导出返回值时出现问题
- 通过回调从onreadystatechange返回值
- 从Ajax函数返回值
- JavaScript生成器中收益率返回值的解析
- HTML如何根据javascript函数的返回值限制文本输入
- 返回值+new Date()与Date.now()是否不同
- 使用在函数外部声明的变量的 Javascript 返回值 + undefined
- 如何在Android中将Javascript返回值转换为String
- chrome.storage.sync.get未返回值-Angular服务
- 修复AngularJS错误:提供程序必须从$get工厂方法返回值
- 如何从嵌套的API函数返回值
- angularjs如何从返回值中找到正确的属性
- 我如何使用AJAX返回所有“;name”;值