10個清晰實用更顯專業(yè)的JavaScript代碼片段

英文 | https://betterprogramming.pub/10-javascript-snippets-for-cleaner-looking-code-76f6e2cf6fc4
翻譯 | 小愛
1、單行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、合并數組
你可以使用傳播運算符(...)將一個數組的元素擴展為另一個數組,例如:
const numbers = [10, 20, 30, 40];const allNumbers = [...numbers, 50, 60, 70, 80];console.log(allNumbers);
輸出:
[10, 20, 30, 40, 50, 60, 70, 80]3、從陣列中刪除重復項
const numbers = [1, 1, 20, 3, 3, 3, 9, 9];const uniqueNumbers = [...new Set(numbers)];console.log(uniqueNumbers);
輸出:
[1, 20, 3, 9]4、將任何內容轉換為布爾值
除了true和false之外,JavaScript還將其他類型視為真或假。
0,"",null,undefined,NaN,和false總是假 。
其他一切都是真實的。
正因為如此,在JavaScript中,你可以將任何值轉換為true和false與一元運算符(!):
const bool1 = !0; // trueconst bool2 = !100; // falseconst bool3 = !"test"; // falseconst bool4 = !!"test"; // trueconsole.log(bool1, bool2, bool3, bool4);
輸出:
true false false true5、交換兩個變量而沒有第三個
let x = 1;let y = 2;[x, y] = [y, x];console.log(x, y);
輸出:
2 16、將數字轉換為字符串
const num = 1 +“”;console.log(typeof num);console.log(num);
輸出:
string1
7、將字符串轉換為數字
const numStr = "124";const num = +numStr;console.log(typeof num);console.log(num);
輸出:
number84
8、將變量嵌入到字符串
通過使用反引號(`)將字符串括起來并將變量插入之間,將變量整齊地嵌入到字符串之間${}:
const age = 41;const sentence = `I'm ${age} years old`;console.log(sentence);
輸出:
I'm 41 years old9、將字符串拆分為數組
要將字符串拆分為數組,可以使用擴展運算符(...):
const str = "Test"const strAsArr = [...str]console.log(strAsArr)
輸出:
["T", "e", "s", "t"]10、可選鏈接
“可選的鏈接運算符(?.)允許讀取位于連接對象鏈深處的屬性的值,而不必明確驗證鏈中的每個引用是否有效。” — MDN Web文檔
假設你有一個data對象,并且想要安全地訪問data.test.value。首先,你需要檢查:
data 是否被定義。
data.test 是否被定義。
在data.test.value,你可以調用之前,因為,你顯然無法讀取undefined屬性。
const data = {test:{value:1}}if(data && data.test){console.log(data.test.value);}
輸出:
1幸運的是,使用可選鏈接的方法,你可以簡單明了地編寫上面的代碼:
const value = 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對象以使其看起來不錯:
const readableJSON = JSON.stringify({ a: 'A', b: 'B' }, null, '\t');console.log(readableJSON);
輸出:
{"a": "A","b": "B"}
結論
我希望,我今天分享的這些技巧對你有用。如你還有什么問題,你可以在留言區(qū)與我一起分享探討,同時,你如果還有其他好的方法,你也可以分享出來,一起學習進步。
感謝閱讀。
學習更多技能
請點擊下方公眾號
![]()

