我已經為所有JavaScript程序員收集了一些最酷,最有用的速記代碼清單。使用這些代碼清單,可以使你的代碼看起來更專業。
1、單行If-Else語句
你可能熟悉這樣的常規if-else語句:
- if(10<100){console.log("True");}else{console.log("False");}
輸出
- True
但是,你知道嗎,你可以通過使用三元運算符,以更短,更簡潔的方式編寫上面的代碼?
- 10<100?console.log(“True”):console.log(“False”)
輸出:
- True
通常,三元運算符遵循以下簡單模式:
- condition?trueExpression:falseExpression
三元運算符也可以鏈接在一起以形成更長的鏈。但是,它通常會使代碼變得很冗長。明智地使用它們,不會使事情變得更復雜。
2、合并數組
你可以使用傳播運算符(...)將一個數組的元素擴展為另一個數組,例如:
- constnumbers=[10,20,30,40];constallNumbers=[...numbers,50,60,70,80];console.log(allNumbers);
輸出:
- [10,20,30,40,50,60,70,80]
3、從陣列中刪除重復項
- constnumbers=[1,1,20,3,3,3,9,9];constuniqueNumbers=[...newSet(numbers)];console.log(uniqueNumbers);
輸出:
- [1,20,3,9]
4、將任何內容轉換為布爾值
除了true和false之外,JavaScript還將其他類型視為真或假。
- 0,"",null,undefined,NaN,和false總是假 。
- 其他一切都是真實的。
正因為如此,在JavaScript中,你可以將任何值轉換為true和false與一元運算符(!):
- constbool1=!0;//trueconstbool2=!100;//falseconstbool3=!"test";//falseconstbool4=!!"test";//trueconsole.log(bool1,bool2,bool3,bool4);
輸出:
- truefalsefalsetrue
5、交換兩個變量而沒有第三個
- letx=1;lety=2;[x,y]=[y,x];console.log(x,y);
輸出:
- 21
6、將數字轉換為字符串
- constnum=1+“”;console.log(typeofnum);console.log(num);
輸出:
- string1
7、將字符串轉換為數字
- constnumStr="124";constnum=+numStr;console.log(typeofnum);console.log(num);
輸出:
- number84
8、將變量嵌入到字符串
通過使用反引號(`)將字符串括起來并將變量插入之間,將變量整齊地嵌入到字符串之間${}:
- constage=41;constsentence=`I'm${age}yearsold`;console.log(sentence);
輸出:
- I'm41yearsold
9、將字符串拆分為數組
要將字符串拆分為數組,可以使用擴展運算符(...):
- conststr="Test"conststrAsArr=[...str]console.log(strAsArr)
輸出:
- ["T","e","s","t"]
10、可選鏈接
“可選的鏈接運算符(?.)允許讀取位于連接對象鏈深處的屬性的值,而不必明確驗證鏈中的每個引用是否有效。” — MDN Web文檔
假設你有一個data對象,并且想要安全地訪問data.test.value。首先,你需要檢查:
- data 是否被定義。
- data.test 是否被定義。
在data.test.value,你可以調用之前,因為,你顯然無法讀取undefined屬性。
- constdata={test:{value:1}}if(data&&data.test){console.log(data.test.value);}
輸出:
- 1
幸運的是,使用可選鏈接的方法,你可以簡單明了地編寫上面的代碼:
- constvalue=data?.test?.value;console.log(value)
輸出:
- 1
現在,你還可以安全地嘗試訪問不存在的屬性,而不會出現問題:
- console.log(data?.this?.does?.not?.exist?.for?.sure)
輸出:
- undefined
加餐:提高JSON的可讀性
我確定你以前用過JSON.stringify()。但是,你可能不使用它的一種方法是對JSON數據進行整齊縮進。
讓我們看看如何完成此任務。該JSON.stringify()方法接受兩個可選參數:
- 替換功能,用于過濾顯示的JSON。在這種情況下,可以是null,因為我們不需要它。
一個空格值,可以是所需空格的數目或字符串。在這種情況下,讓我們使用制表符('\t')縮進JSON對象以使其看起來不錯:
- constreadableJSON=JSON.stringify({a:'A',b:'B'},null,'\t');console.log(readableJSON);
輸出:
- {"a":"A","b":"B"}
結論
我希望,我今天分享的這些技巧對你有用。如你還有什么問題,你可以在留言區與我一起分享探討,同時,你如果還有其他好的方法,你也可以分享出來,一起學習進步。