zoukankan      html  css  js  c++  java
  • x ? y:z 与 x && y 使用区别

    注意到一个日常使用三目运算符和&&运算符使用区别

    A:let a = 1===1 ? 2 :undefined           // 2

    B:let b = 1===1 && 2                        // 2

    两个结果都是2

    C:let a = 1===2 ? 2:undefined         // undefined

    D:let b = 1===2 && 2                    // false

     

    C的结果是undefined,D的结果是false

    原因在于, 执行 && 运算符时, 如果左值为false, false && 任意值都为false,

    在let b = 1===2 && 2中 左值为false,所以此时最终值为false,  如果左值为true,那么结果就是右值

    结论:

    所以,在给变量赋值时应使用三目运算符; 在单纯的evaluate执行表达式的时候,使用与或运算符。

     
  • 相关阅读:
    2017普及组D1T3 洛谷P3956 棋盘
    2017提高组D1T1 洛谷P3951 小凯的疑惑
    Title
    Title
    Title
    Title
    Title
    Title
    Title
    Title
  • 原文地址:https://www.cnblogs.com/eret9616/p/12343441.html
Copyright © 2011-2022 走看看