亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

你真的會(huì)用三元運(yùn)算符嗎?

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

什么是三元運(yùn)算符?

三元運(yùn)算符在Javascript中的的表現(xiàn)形式是?,它的作用是“計(jì)算在它之前傳遞的條件表達(dá)式,并根據(jù)條件表達(dá)式的結(jié)果判斷應(yīng)該執(zhí)行問號(hào)(?)后的哪一段代碼”。(?)后接兩端不同情況下該執(zhí)行的代碼,代碼之前用冒號(hào)分隔,:

它的語法如下所示:

條件表達(dá)式 ? 結(jié)果為true執(zhí)行的代碼 : 結(jié)果為false執(zhí)行的代碼;


當(dāng)我們的條件表達(dá)式運(yùn)行結(jié)果為true時(shí),執(zhí)行(:)冒號(hào)前的代碼,當(dāng)條件表達(dá)式結(jié)果為false時(shí),執(zhí)行(:)冒號(hào)后面的代碼。

如何使用三元運(yùn)算符?

當(dāng)我們需要根據(jù)某一個(gè)表達(dá)式的運(yùn)算結(jié)果來決定我們的接下來要執(zhí)行的代碼時(shí),我們就可以使用三元運(yùn)算符。

//const student = false;  //第一種情況為student==false,執(zhí)行Welcome, Guest!

const student = 'zayyo';  //第二種情況為true,執(zhí)行Welcome, zayyo!

const welcomeStudent = student ? `Welcome, ${student}!` : "Welcome, Guest!";

console.log(welcomeStudent); // Welcome, zayyo!


在上面的代碼中,我們把studnent當(dāng)做布爾條件去求值,當(dāng)student為true時(shí),我們把(:)冒號(hào)前的值賦給welcomeStudent,當(dāng)student的值為false時(shí),我們把(:)冒號(hào)后的值賦給welcomeStudent。所以三元運(yùn)算符又被稱為條件運(yùn)算符,只有在滿足條件的情況下才會(huì)執(zhí)行正確的代碼

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

那什么時(shí)候使用三元運(yùn)算符呢?

我們常見的三元運(yùn)算符例子的都只有兩種結(jié)果,要么為true,要么為false。與之類似的代碼結(jié)構(gòu)就只有我們的if/else選擇結(jié)構(gòu),我們可以用三元運(yùn)算符來代替if/else的使用,用來增加代碼的可讀性和簡(jiǎn)潔性

例子:


// 使用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!

}


// 使用三元運(yùn)算符

{

const welcomeStudent = student => student ? `Welcome, ${student.name}!` : "Welcome, Guest!";


console.log(welcomeStudent({ name: 'zayyo' })); // Welcome, zayyo!

console.log(welcomeStudent()); // Welcome, Guest!

}


在上面的例子中,我們不難看出三元運(yùn)算符有著更好的可讀性和簡(jiǎn)潔性

鏈?zhǔn)饺\(yùn)算符

那如果我們遇見更加復(fù)雜的代碼,如if/else if/else或者是switch的結(jié)果我們?nèi)绾稳ナ褂萌\(yùn)算符去優(yōu)化代碼呢?

我們可以使用鏈?zhǔn)饺\(yùn)算符去實(shí)現(xiàn)

// 使用 if/else if/else

const grade = mark => {

  if (mark > 100) {

    return;

  } else if (mark > 80) {

    return '優(yōu)秀';

  } else if (mark > 70) {

    return '良好';

  } else if (mark > 60) {

    return '及格';

  } else if (mark > 50) {

    return '不及格';

  } else {

    return '差';

  };

};


console.log(grade(100)); // 優(yōu)秀

console.log(grade(1000)); // undefined

console.log(grade(10)); // 差


// 使用鏈?zhǔn)饺\(yùn)算符

const grade = mark => mark > 100 ? undefined

                      : mark > 80 ? '優(yōu)秀'

                      : mark > 70 ? '良好'

                      : mark > 60 ? '及格'

                      : mark > 50 ? '不及格'

                      : '差';


console.log(grade(100)); // 優(yōu)秀

console.log(grade(1000)); // undefined

console.log(grade(10)); // 差


在鏈?zhǔn)秸{(diào)用三元運(yùn)算符中,我們把條件運(yùn)算符鏈接到每個(gè)級(jí)別的三元運(yùn)算符中的第三個(gè)操作數(shù)里,但是對(duì)于初級(jí)程序員來說,這樣的做法不僅不能提高代碼的可讀性反而會(huì)適得其反。所以當(dāng)我們遇見更加復(fù)雜的選擇代碼時(shí)我們還是建議使用更加繁瑣的if/else if/else來保存代碼的可讀性。

結(jié)論

在比較簡(jiǎn)單的選擇結(jié)構(gòu)時(shí)運(yùn)用我們的三元運(yùn)算符確實(shí)可以提升我們的代碼的可讀性以及簡(jiǎn)潔性,編寫代碼時(shí)也更快,但是如果是復(fù)雜的選擇結(jié)構(gòu)時(shí)運(yùn)用鏈?zhǔn)饺\(yùn)算符,不僅不會(huì)提高代碼的可讀性,反而會(huì)適得其反。所以合理的選擇使用三元運(yùn)算符很重要


原文鏈接




該文章在 2023/6/17 10:53:36 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved