欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

JavaScript中多层判断语句和多条表达式的三元运算符扩展应用

最编程 2024-01-17 16:19:30
...

MDN - 三元运算符

语法
Condition ? exprIfTrue : exprIfFalse

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

getFee(true)    // expected output: "$2.00"
getFee(false)   // expected output: "$10.00"
getFee(null)    // expected output: "$10.00"

多层判断语句:
// 颜色越深条件层级越深
typeof
arg == 'number' ? (arg > 0 ? (arg > 100 ? i = 'Num huge!' : 'Num small!') : i = 'Num is minus.') : (typeof arg == 'string' ? i = 'Arg is a Str.' : i = 'Arg unknow.')

等价于

if (typeof arg == 'number') {
    if (arg > 0) {
        if (arg > 100) {
            i = 'Num huge!'
        } else {
            i = 'Num small!'
        }
    } else {
        i = 'Num is minus.'
    }
} else {
    if (typeof arg == 'string') {
        i = 'Arg is a Str.'
    } else {
        i = 'Arg unknow.'
    }
}

一行解决,就是可读性较差。

多条执行语句

方法1:括号同上

// 方法1 括号同上
isShow? (isShow = false, btn = 'show') : (isShow = true, btn = 'hide')

// 方法2 ES6箭头函数
isShow ? (() = > {
    isShow = false;
    btn = 'show';
})() 
: (() => {
    isShow = true;
    btn = 'hide';
})();

- END -

原文地址:https://www.cnblogs.com/97z4moon/p/14930860.html

推荐阅读