// meet [Boolean] 是否需要全部满足
// caps[Array] 需要满足的条件
// userCaps [Object] 当前用户拥有的权限
if (meet === false) {
return caps.find((cap) => {
if (userCaps[cap] === true)
return true
}) != null ? true : false
} else {
return caps.find((cap) => {
if (userCaps[cap] !== true)
return true
}) != null ? false : true
}
这是一段前端判断用户是否有权限的句子,如果条件是 meet 则需要全部满足,否则只要满足其一。
其实我是想吧这两个 return 合并为一个,因为只有中间 true 判断和结尾的 false : true 相反,但是可读性巨差无比
就像下面这样
return caps.find((cap) => {
if (meet ? userCaps[cap] !== true : userCaps[cap] === true)
return true
}) != null ? !meet : meet
在大厂这样写 js 会被辞退吗
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.