你真的會用三元運算符嗎?
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
什么是三元運算符?三元運算符在Javascript中的的表現形式是?,它的作用是“計算在它之前傳遞的條件表達式,并根據條件表達式的結果判斷應該執行問號(?)后的哪一段代碼”。(?)后接兩端不同情況下該執行的代碼,代碼之前用冒號分隔,:。 它的語法如下所示: 條件表達式 ? 結果為true執行的代碼 : 結果為false執行的代碼; 當我們的條件表達式運行結果為true時,執行( 如何使用三元運算符?當我們需要根據某一個表達式的運算結果來決定我們的接下來要執行的代碼時,我們就可以使用三元運算符。 //const student = false; //第一種情況為student==false,執行Welcome, Guest! const student = 'zayyo'; //第二種情況為true,執行Welcome, zayyo! const welcomeStudent = student ? `Welcome, ${student}!` : "Welcome, Guest!"; console.log(welcomeStudent); // Welcome, zayyo! 在上面的代碼中,我們把studnent當做布爾條件去求值,當student為true時,我們把( 在Javascript中 那什么時候使用三元運算符呢?我們常見的三元運算符例子的都只有兩種結果,要么為true,要么為false。與之類似的代碼結構就只有我們的if/else選擇結構,我們可以用三元運算符來代替if/else的使用,用來增加代碼的可讀性和簡潔性 例子: // 使用if/else { const welcomeStudent = student => { if (student) { return `Welcome, ${student.name}!`; } else { return "Welcome, Guest!"; }; }; console.log(welcomeStudent({ name: 'zayyo' })); // Welcome, zayyo! console.log(welcomeStudent()); // Welcome, Guest! } // 使用三元運算符 { const welcomeStudent = student => student ? `Welcome, ${student.name}!` : "Welcome, Guest!"; console.log(welcomeStudent({ name: 'zayyo' })); // Welcome, zayyo! console.log(welcomeStudent()); // Welcome, Guest! } 在上面的例子中,我們不難看出三元運算符有著更好的可讀性和簡潔性 鏈式三元運算符那如果我們遇見更加復雜的代碼,如if/else if/else或者是switch的結果我們如何去使用三元運算符去優化代碼呢?
// 使用 if/else if/else const grade = mark => { if (mark > 100) { return; } else if (mark > 80) { return '優秀'; } else if (mark > 70) { return '良好'; } else if (mark > 60) { return '及格'; } else if (mark > 50) { return '不及格'; } else { return '差'; }; }; console.log(grade(100)); // 優秀 console.log(grade(1000)); // undefined console.log(grade(10)); // 差 // 使用鏈式三元運算符 const grade = mark => mark > 100 ? undefined : mark > 80 ? '優秀' : mark > 70 ? '良好' : mark > 60 ? '及格' : mark > 50 ? '不及格' : '差'; console.log(grade(100)); // 優秀 console.log(grade(1000)); // undefined console.log(grade(10)); // 差 在鏈式調用三元運算符中,我們把條件運算符鏈接到每個級別的三元運算符中的第三個操作數里,但是對于初級程序員來說,這樣的做法不僅不能提高代碼的可讀性反而會適得其反。所以當我們遇見更加復雜的選擇代碼時我們還是建議使用更加繁瑣的if/else if/else來保存代碼的可讀性。 結論在比較簡單的選擇結構時運用我們的三元運算符確實可以提升我們的代碼的可讀性以及簡潔性,編寫代碼時也更快,但是如果是復雜的選擇結構時運用鏈式三元運算符,不僅不會提高代碼的可讀性,反而會適得其反。所以合理的選擇使用三元運算符很重要 該文章在 2023/6/17 10:53:36 編輯過 |
關鍵字查詢
相關文章
正在查詢... |