返回课程

使用“?”或“||”重写函数

重要性:4

以下函数如果参数age大于18,则返回true

否则它会要求确认并返回其结果。

function checkAge(age) {
  if (age > 18) {
    return true;
  } else {
    return confirm('Did parents allow you?');
  }
}

重写它,以执行相同的操作,但没有if,在一行中。

制作checkAge的两个变体

  1. 使用问号运算符?
  2. 使用 OR ||

使用问号运算符 '?'

function checkAge(age) {
  return (age > 18) ? true : confirm('Did parents allow you?');
}

使用 OR || (最短的变体)

function checkAge(age) {
  return (age > 18) || confirm('Did parents allow you?');
}

注意,age > 18 周围的括号在这里不是必需的。它们的存在是为了更好的可读性。