Heim >Web-Frontend >js-Tutorial >Sie wissen es vielleicht nicht: Wichtige und wenig bekannte Funktion in JavaScript
JavaScript ist einer der Eckpfeiler der Webentwicklungswelt. Selbst wenn Sie diese Sprache schon seit Jahren verwenden, haben Sie möglicherweise einige erweiterte Funktionen noch nicht entdeckt. In diesem Artikel werden wir die 5 wichtigsten und am wenigsten bekannten Funktionen von JavaScript behandeln.
Das Erreichen eines Werts in der verschachtelten Struktur von Objekten in JavaScript kann manchmal das Risiko eines Fehlers bergen. Wenn ein tiefer Wert undefiniert oder null ist, kann dies einen Fehler verursachen. Der optionale Verkettungsoperator (?.) beseitigt dieses Problem.
Beispiel:
const user = { name: 'John', address: { city: 'New York' } }; console.log(user.address?.city); // 'New York' console.log(user.address?.zipcode); // undefined, hata vermez
Der Operator Nullish Coalescing (??) in JavaScript wird verwendet, um einen alternativen Wert zurückzugeben, wenn ein Wert null oder undefiniert ist. Dieser Operator ist besonders nützlich, um einen Standardwert bereitzustellen, wenn eine Variable keinen Wert hat oder nicht definiert ist.
Beispiele:
let x = 0; let y = x ?? 42; // 0 döner, çünkü 0 null veya undefined değildir console.log(y);
function getConfig(config) { return config ?? { timeout: 1000, retries: 3 }; } let userConfig = null; let finalConfig = getConfig(userConfig); // { timeout: 1000, retries: 3 } console.log(finalConfig);
Debouncen ist eine Technik, die sicherstellt, dass eine Funktion nur einmal in einem bestimmten Zeitraum ausgeführt wird. Dies ist besonders nützlich für häufig ausgelöste Ereignisse bei Benutzerinteraktionen (z. B. Tippen, Scrollen). Entprellen , wird normalerweise verwendet, um eine Aktion (z. B. einen API-Aufruf) zu starten, nachdem der Benutzer etwas abgeschlossen hat.
Wenn der Benutzer in ein Sucheingabefeld tippt, wird durch die Entprellung sichergestellt, dass der API-Aufruf nur erfolgt, wenn der Benutzer mit der Eingabe aufhört, anstatt bei jedem Tastendruck einen API-Aufruf durchzuführen:
Verhindert Serverüberlastung: Eine große Anzahl von Anfragen wird nicht gesendet, wodurch der Server effizienter arbeitet.
Reduziert Verzögerung:Benutzer erhält schnellere Antwort.
Verbessert die Benutzererfahrung: Der Benutzer erwartet, dass Vorschläge erst dann kommen, wenn er mit der Eingabe aufhört.
Beispiel:
<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Debounce Örneği</title> <style> body { font-family: Arial, sans-serif; margin: 20px; } #searchInput { padding: 10px; width: 300px; font-size: 16px; border: 1px solid #ccc; border-radius: 4px; } #result { margin-top: 20px; } </style> </head> <body> <h1>Arama Örneği</h1> <input type="text" id="searchInput"/> <div id="result"></div> <script> // Debounce fonksiyonu function debounce(func, delay) { let timeoutId; return function(...args) { clearTimeout(timeoutId); // Önceki zamanlayıcıyı temizle timeoutId = setTimeout(() => func.apply(this, args), delay); // Yeni bir zamanlayıcı ayarla }; } const search = debounce((query) => { console.log(`Searching for ${query}`); // Burada bir API çağrısı yapabilirsiniz document.getElementById('result').innerText = `Sonuçlar için arama yapılıyor: ${query}`; }, 300); // Input olayını dinleme document.getElementById('searchInput').addEventListener('input', (event) => { search(event.target.value); }); </script> </body> </html>
Proxy ermöglicht das Erfassen und Ändern von Vorgängen für ein Objekt. Diese Funktion ist nützlich, um benutzerdefinierte Verhaltensweisen zu definieren, bevor Vorgänge am Objekt ausgeführt werden.
Beispiel:
const target = { message: 'Hello' }; const handler = { get: function(obj, prop) { if (prop in obj) { return obj[prop]; } else { return `Property ${prop} does not exist`; } } }; const proxy = new Proxy(target, handler); console.log(proxy.message); // Hello console.log(proxy.nonExistent); // Property nonExistent does not exist
Durch die Verwendung beider Strukturen ist es möglich, doppelte Werte zu vermeiden. Beispiele, die zeigen, wie man es mit beiden Strukturen macht:
Doppelte Werte mit Set verhindern
const numbers = [1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 9]; const uniqueNumbers = [...new Set(numbers)]; console.log(uniqueNumbers); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
Doppelte Werte mit WeakSet verhindern
const uniqueObjects = new WeakSet(); const objA = { name: 'Alice' }; const objB = { name: 'Bob' }; const objC = objB; // Aynı referans // Değer ekleme uniqueObjects.add(objA); uniqueObjects.add(objB); uniqueObjects.add(objC); // objB'nin referansı olduğu için bu eklenmeyecek console.log(uniqueObjects); // WeakSet { ... } (objA ve objB ile gösterir)
Bei diesen Funktionen handelt es sich um Tools, mit denen Sie die Leistungsfähigkeit und Flexibilität von JavaScript voll ausschöpfen können. Sie können diese Funktionen in Ihren Projekten nutzen, um sicherzustellen, dass Ihre Codes leistungsfähiger, sauberer und nachhaltiger sind.
Das obige ist der detaillierte Inhalt vonSie wissen es vielleicht nicht: Wichtige und wenig bekannte Funktion in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!