当前位置: 首页 > 面试题库 >

如何使用?:(条件)运算符在JavaScript中?

令狐声
2023-03-14
问题内容

有人可以简单地向我解释什么是?:(有条件的“三元”)运算符,以及如何使用它?


问题答案:

这是if-else语句的单行缩写。它称为条件运算符。1个

这是可以通过条件运算符缩短的代码示例:

var userType;
if (userIsYoungerThan18) {
  userType = "Minor";
} else {
  userType = "Adult";
}

if (userIsYoungerThan21) {
  serveDrink("Grape Juice");
} else {
  serveDrink("Wine");
}

可以这样缩短?:

var userType = userIsYoungerThan18 ? "Minor" : "Adult";

serveDrink(userIsYoungerThan21 ? "Grape Juice" : "Wine");

与所有表达式一样,条件运算符也可以用作具有副作用的独立语句,尽管在缩小之外这是不常见的:

userIsYoungerThan21 ? serveGrapeJuice() : serveWine();

它们甚至可以链接:

serveDrink(userIsYoungerThan4 ? 'Milk' : userIsYoungerThan21 ? 'Grape Juice' : 'Wine');

但是要小心,否则最终将得到如下复杂的代码:

var k = a ? (b ? (c ? d : e) : (d ? e : f)) : f ? (g ? h : i) : j;

1 通常称为“三元运算符”,但实际上它只是 一个 三元运算符[一个接受三个操作数的运算符]。不过,这是目前唯一的JavaScript。



 类似资料:
  • 我在条件运算符的true子句中得到了未定义属性的意外行为: 示例:Javascript: 不停摆弄 预期的行为是获取一个日志条目,上面写着"未定义,而是抛出了一个错误:。怎么会这样,对象被选中,它永远不会执行htis coe路径。一个工作示例是: 不停摆弄

  • 问题内容: 从我的阅读中,我发现不存在内置的三元运算符(我将很高兴对此有更多的了解。)。 我发现以下代码可以替代: 我不明白这段代码是如何工作的。谁能解释我代码实际上是如何工作的?我也很想知道为什么三元运算符不存在。关于此的任何参考或链接将很有用。 我在Windows Vista上运行Python 2.6.4。 问题答案: Python具有类似于C等人中的三元运算符的构造。它的工作原理如下: 并等

  • 本文向大家介绍JavaScript中的条件运算符是什么?,包括了JavaScript中的条件运算符是什么?的使用技巧和注意事项,需要的朋友参考一下 条件运算符首先对表达式的真值或假值求值,然后根据求值结果执行两个给定语句之一。 序号 运算符和说明 1 ?:(视情况而定) 如果条件为真?然后取值X:否则取值Y 示例 尝试以下代码以了解条件运算符在JavaScript中的工作方式:

  • 问题内容: 我了解doublenot运算符在JavaScript中的作用。我很好奇它的用法,以及我最近的断言是否正确,我对此很好奇。 我说这既没有意义,也不是因为和都将someVar评估为布尔值,所以!! 是多余的。 实际上,我唯一想到使用double not运算符是合法的,是如果您想与另一个布尔值进行严格比较(因此可能返回的值显式地期望为true或false)。 它是否正确?当我注意到jQuer

  • Java 提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的 if-then-else 语句。 条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数,因此称其为三目运算符。使用条件运算符的一般语法结构为: 其中,expression 是一个布尔表达式。当 expression 为真时,执行 statement1, 否则就执行 statement3。此三元运算符要求返回一个

  • 主要内容:RxJava 条件运算符 介绍,RxJava 条件运算符 示例RxJava 条件运算符 介绍 以下是用于 Observable 的条件运算符。 运算符 描述 All 评估发出的所有项目以满足给定标准。 Amb 仅在给定多个 Observable 的情况下从第一个 Observable 发出所有项目。 Contains 检查 Observable 是否发出特定项目。 DefaultIfEmpty 如果 Observable 不发出任何内容,则发出默认项。 Se