javascript / expert
Snippet
Bitweises Status-Management für Hochleistungs-Flags
Bei der Verwaltung zahlreicher boolescher Zustände reduziert die Verwendung bitweiser Operatoren zum Packen von Flags in eine einzige Ganzzahl den reaktiven Overhead. Svelte muss nur eine Zahl anstatt mehrerer boolescher Runen verfolgen, was den Speicher und die Update-Zyklen für komplexe Komponenten optimiert.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
const FLAG_VISIBLE = 1 << 0; // 1const FLAG_LOADING = 1 << 1; // 2const FLAG_ERROR = 1 << 2; // 4let state = $state(0);function toggleLoading(on) {if (on) state |= FLAG_LOADING;else state &= ~FLAG_LOADING;}const isLoading = $derived((state & FLAG_LOADING) !== 0);
svelte
Erklärung
1
state |= FLAG_LOADING;
Verwendet den bitweisen OR-Operator, um das Loading-Flag-Bit auf 1 zu setzen.
2
state &= ~FLAG_LOADING;
Verwendet bitweises AND und NOT, um das Loading-Flag-Bit wieder auf 0 zu setzen.