三元符:
const userStatus = user ? (user.isAdmin ? "Admin" : "User") : "Guest";
解释:(括号里的可以视为一个结果)
- 如果
user
存在并且user.isAdmin
为真,则返回"Admin"
; - 如果
user
存在但user.isAdmin
为假,则返回"User"
; - 如果
user
不存在,则返回"Guest"
。
等同于 &&
和 ||
运算符:(从左向右运行)
const userStatus = user && user.isAdmin ? "Admin" : user ? "User" : "Guest";
使用 if-else
语句:
let userStatus;
if (user) {
if (user.isAdmin) {
userStatus = "Admin";
} else {
userStatus = "User";
}
} else {
userStatus = "Guest";
}
对于简单的两层循环,可以使用三元符,较为清晰简洁;对于复杂的判断逻辑,可以使用if-else进行编写。