国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

分享5個小技巧讓你寫出更好的 JavaScript 條件語句

2024-05-06 15:28:36
字體:
來源:轉載
供稿:網友

在使用 JavaScript 時,我們常常要寫不少的條件語句。這里有五個小技巧,可以讓你寫出更干凈、漂亮的條件語句。

1. 使用 Array.includes 來處理多重條件

舉個栗子 :

// 條件語句function test(fruit) { if (fruit == 'apple' || fruit == 'strawberry') {  console.log('red'); }}

乍一看,這么寫似乎沒什么大問題。然而,如果我們想要匹配更多的紅色水果呢,比方說『櫻桃』和『蔓越莓』?我們是不是得用更多的 || 來擴展這條語句?

我們可以使用 Array.includes(Array.includes) 重寫以上條件句。

function test(fruit) { // 把條件提取到數組中 const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries']; if (redFruits.includes(fruit)) {  console.log('red'); }}

我們把紅色的水果(條件)都提取到一個數組中,這使得我們的代碼看起來更加整潔。

2. 少寫嵌套,盡早返回

讓我們為之前的例子添加兩個條件:

如果沒有提供水果,拋出錯誤。

如果該水果的數量大于 10,將其打印出來。

function test(fruit, quantity) { const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries']; // 條件 1:fruit 必須有值 if (fruit) {  // 條件 2:必須為紅色  if (redFruits.includes(fruit)) {   console.log('red');   // 條件 3:必須是大量存在   if (quantity > 10) {    console.log('big quantity');   }  } } else {  throw new Error('No fruit!'); }}

// 測試結果
test(null); // 報錯:No fruits
test('apple'); // 打印:red
test('apple', 20); // 打印:red,big quantity

讓我們來仔細看看上面的代碼,我們有:

1 個 if/else 語句來篩選無效的條件
3 層 if 語句嵌套(條件 1,2 & 3)

就我個人而言,我遵循的一個總的規則是當發現無效條件時盡早返回。
/_ 當發現無效條件時盡早返回 _/

function test(fruit, quantity) { const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries']; // 條件 1:盡早拋出錯誤 if (!fruit) throw new Error('No fruit!'); // 條件2:必須為紅色 if (redFruits.includes(fruit)) {  console.log('red');  // 條件 3:必須是大量存在  if (quantity > 10) {   console.log('big quantity');  } }}

如此一來,我們就少寫了一層嵌套。這是種很好的代碼風格,尤其是在 if 語句很長的時候(試想一下,你得滾動到底部才能知道那兒還有個 else 語句,是不是有點不爽)。

如果反轉一下條件,我們還可以進一步地減少嵌套層級。注意觀察下面的條件 2 語句,看看是如何做到這點的:
/_ 當發現無效條件時盡早返回 _/

function test(fruit, quantity) { const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries']; if (!fruit) throw new Error('No fruit!'); // 條件 1:盡早拋出錯誤 if (!redFruits.includes(fruit)) return; // 條件 2:當 fruit 不是紅色的時候,直接返回 console.log('red'); // 條件 3:必須是大量存在 if (quantity > 10) {  console.log('big quantity'); }}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 吴旗县| 阜康市| 营口市| 绩溪县| 河东区| 宁津县| 西吉县| 房产| 大英县| 梓潼县| 深水埗区| 霍山县| 稷山县| 天柱县| 凤凰县| 察哈| 兴山县| 搜索| 全南县| 稻城县| 吐鲁番市| 曲阜市| 河曲县| 太保市| 汽车| 松溪县| 兴化市| 杭锦后旗| 土默特右旗| 宜昌市| 娄底市| 汉沽区| 祁门县| 镇坪县| 霞浦县| 兴仁县| 梁平县| 江川县| 昌宁县| 金塔县| 金平|