無論您是 JavaScript 新手還是已經編碼多年,總有新的技巧和技巧可以讓您的編碼生活更輕鬆。在這篇文章中,我們將深入探討 30 個基本的 JavaScript 技巧,它們不僅可以改進您的程式碼,還可以提高您的工作效率!
跟var說再見!使用 const 和 let 有助於防止與作用域相關的問題,並使您的程式碼更具可預測性。
設定函數參數的預設值以避免未定義的值。
function greet(name = "Guest") { console.log(`Hello, ${name}`); }
箭頭函數提供了更清晰的語法並更直觀地處理此上下文。
const add = (a, b) => a + b;
解構簡化了從陣列和物件中提取值的過程。
const [x, y] = [1, 2]; const { name, age } = { name: "John", age: 30 };
擴充語法非常適合複製和合併陣列或物件。
const arr1 = [1, 2]; const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]
對多行字串和變數插值使用反引號。
const name = "Alice"; console.log(`Hello, ${name}!`);
存取深層嵌套的物件屬性,而不必擔心錯誤。
const user = { address: { street: "Main St" } }; console.log(user?.address?.street); // Main St
使用??處理空值(空值或未定義)。
let name = null; console.log(name ?? "Guest"); // Guest
輕鬆轉換數組值。
const numbers = [1, 2, 3]; const doubled = numbers.map(n => n * 2); // [2, 4, 6]
依條件過濾元素。
const numbers = [1, 2, 3, 4]; const evenNumbers = numbers.filter(n => n % 2 === 0); // [2, 4]
將陣列縮減為單一值,例如總和或乘積。
const numbers = [1, 2, 3]; const sum = numbers.reduce((total, num) => total + num, 0); // 6
使用 && 和 ||用於簡潔的條件邏輯。
const loggedInUser = user && user.name;
函數定義後立即運行。
(function() { console.log("This runs immediately!"); })();
儲存函數結果以提高昂貴操作的效能。
const memoize = fn => { const cache = {}; return (...args) => { if (cache[args]) return cache[args]; const result = fn(...args); cache[args] = result; return result; }; };
最佳化事件偵聽器,透過限制呼叫函數的頻率來提高效能。
const debounce = (func, delay) => { let timeout; return (...args) => { clearTimeout(timeout); timeout = setTimeout(() => func(...args), delay); }; };
定義與變數同名的物件屬性的簡寫。
const name = "Alice"; const user = { name };
對物件方法使用簡寫語法。
const obj = { greet() { console.log("Hello!"); } };
使用 setTimeout() 和 setInterval() 控制函數執行時間。
function greet(name = "Guest") { console.log(`Hello, ${name}`); }
讓簡單的 if-else 語句更簡潔。
const add = (a, b) => a + b;
防止對物件進行更改。
const [x, y] = [1, 2]; const { name, age } = { name: "John", age: 30 };
從物件快速檢索鍵、值或鍵值對。
const arr1 = [1, 2]; const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]
以更具可讀性的方式處理非同步操作。
const name = "Alice"; console.log(`Hello, ${name}!`);
並行運行多個 Promise 並等待所有 Promise 解決。
const user = { address: { street: "Main St" } }; console.log(user?.address?.street); // Main St
直接在函數參數中使用解構以獲得更清晰的程式碼。
let name = null; console.log(name ?? "Guest"); // Guest
了解它在不同情境(函數、類別、箭頭函數)中的行為。
const numbers = [1, 2, 3]; const doubled = numbers.map(n => n * 2); // [2, 4, 6]
循環內的非同步函數需要使用await 仔細處理。
const numbers = [1, 2, 3, 4]; const evenNumbers = numbers.filter(n => n % 2 === 0); // [2, 4]
在物件中使用動態屬性鍵。
const numbers = [1, 2, 3]; const sum = numbers.reduce((total, num) => total + num, 0); // 6
檢查部分或全部元素是否符合條件。
javascript
const loggedInUser = user && user.name;
了解模組中命名導出和預設導出之間的差異。
(function() { console.log("This runs immediately!"); })();
使用 console.table() 以表格格式視覺化物件或陣列。
const memoize = fn => { const cache = {}; return (...args) => { if (cache[args]) return cache[args]; const result = fn(...args); cache[args] = result; return result; }; };
這 30 個 JavaScript 技巧涵蓋了每個開發人員工具包中都應該具備的廣泛技術。無論您是想提高效能、清理程式碼還是增強可讀性,這些技巧都將幫助您編寫更好、更有效率的 JavaScript。如果您有任何疑問請在下面評論...
我的網站:https://shafayet.zya.me
給你的表情包?
以上是每個開發人員都應該知道的頂級 JavaScript 技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!