美文网首页
他山之石,可以攻玉——新知识点2

他山之石,可以攻玉——新知识点2

作者: meteornnnight | 来源:发表于2018-12-14 18:27 被阅读0次

    1. ternary operator (Question mark: " ? ")

    实际上 (condition) ? expT : expF可以看成是 if (condition) expT; else expF;的shortcut.

    1.1 一个好用的用法:

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

    1.2 chained question mark:

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

    不建议chained question mark(multiple ?)是因为这样的写法代码的可读性很差,人们看代码总是倾向于垂直看,所以chained question mark尽量采用多行if...else来代替。

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

    相关文章

      网友评论

          本文标题:他山之石,可以攻玉——新知识点2

          本文链接:https://www.haomeiwen.com/subject/wryphqtx.html