JS代码有等号、问号、冒号条件运算符的一长句是什么写法? 其实是JS中的三元运算啦!

作为一个后端开发人员,有时候想写点前端代码时,面对js中的一些未知的写法也是很苦恼的,想借鉴却连代码都看不懂,例如今日份的JS三元表达式,下面来一起学习下吧^-^!

1、JS三元运算符是什么?

        条件(三元)运算符是 JavaScript 仅有的使用三个操作数的运算符。一个条件后面会跟一个问号(?),如果条件为 truthy ,则问号后面的表达式A将会执行;表达式A后面跟着一个冒号(:),如果条件为 falsy ,则冒号后面的表达式B将会执行。本运算符经常作为 if 语句的简捷形式来使用。

小例子:

function getFee(isMember) {
  return (isMember ? '$2.00' : '$10.00');
}

console.log(getFee(true));
// expected output: "$2.00"

console.log(getFee(false));
// expected output: "$10.00"

console.log(getFee(null));
// expected output: "$10.00"

2、怎么用,标准语法是什么?

   语法:

condition ? exprIfTrue : exprIfFalse

   参数:

   condition:计算结果用作条件的表达式。

   exprIfTrue: 如果表达式 condition 的计算结果是 truthy(它和 true 相等或者可以转换成 true ),那么表达式 exprIfTrue 将会被求值。

   exprIfFalse:如果表达式 condition 的计算结果是 falsy(它可以转换成 false ),那么表达式 exprIfFalse 将会被执行。

3、简单使用:

  例1:

var age = 26;
var beverage = (age >= 21) ? "Beer" : "Juice";
console.log(beverage); // "Beer"

  例2:(表达式值为假的情况,除了 false,可能的假值表达式还有:null 、NaN 、 0 、空字符串( "" )、和 undefined 

function greeting(person) {
    var name = person ? person.name : "stranger";
    return "Howdy, " + name;
}
console.log(greeting({name: 'Alice'}));  // "Howdy, Alice"
console.log(greeting(null));             // "Howdy, stranger"

4、条件链:

  这个三元操作符是右结合的,也就是说你可以像这样把它链接起来, 和 if … else if … else if … else 链类似:

function example(…) {
    return condition1 ? value1
         : condition2 ? value2
         : condition3 ? value3
         : value4;
}

// Equivalent to:

function example(…) {
    if (condition1) { return value1; }
    else if (condition2) { return value2; }
    else if (condition3) { return value3; }
    else { return value4; }
}

5:我遇到的没看懂的实例:

    看过三元运算后,顿时就明白了next_step_num的值是怎么得来得了。

    this.nextStep=function() {
      if (curPage>=size) {
        return false;
      }
      var next_step_num = curPage == 0? 2: curPage == size ? size : curPage+1;
      return this.goStep(next_step_num);
    };

小结:

 三元运算理解起来很简单,主要是自己掌握js的知识很少,也不晓得这种写法,虽然简单,不过还是要总结下自己加深印象,希望以后自己这样写。这一句代码顶我这个萌新写一堆if....else...........嘤嘤

参考(知识来源):

!!!对了,不能忘了我的知识来源,本知识点的学习总结源自于:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

 

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值