狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

你真的會用三元運算符嗎?

freeflydom
2023年6月17日 10:48 本文熱度 613

什么是三元運算符?

三元運算符在Javascript中的的表現形式是?,它的作用是“計算在它之前傳遞的條件表達式,并根據條件表達式的結果判斷應該執行問號(?)后的哪一段代碼”。(?)后接兩端不同情況下該執行的代碼,代碼之前用冒號分隔,:

它的語法如下所示:

條件表達式 ? 結果為true執行的代碼 : 結果為false執行的代碼;


當我們的條件表達式運行結果為true時,執行(:)冒號前的代碼,當條件表達式結果為false時,執行(:)冒號后面的代碼。

如何使用三元運算符?

當我們需要根據某一個表達式的運算結果來決定我們的接下來要執行的代碼時,我們就可以使用三元運算符。

//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時,我們把(:)冒號前的值賦給welcomeStudent,當student的值為false時,我們把(:)冒號后的值賦給welcomeStudent。所以三元運算符又被稱為條件運算符,只有在滿足條件的情況下才會執行正確的代碼

在Javascript中false0""nullundefinedNaN都被判定為假值(等同于false),除此之外的其他值都被判定為真值(等同于true)。

那什么時候使用三元運算符呢?

我們常見的三元運算符例子的都只有兩種結果,要么為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 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved