V JavaScriptu můžeme zkontrolovat, zda je řetězec prázdný nebo ne, pomocí několika metod. Zde je několik příkladů:
1. Použití vlastnosti length:
Můžeme použít vlastnost délky řetězce pro kontrolu, zda obsahuje nějaké znaky nebo ne. Pokud je délka nula, znamená to, že řetězec je prázdný.
Například:
let str = ''; if (str.length === 0) { console.log('String is empty'); } else { console.log('String is not empty'); }
Výstup
String is empty
2. Pomocí metody trim():
The metoda trim(). odstraní mezery z obou konců řetězce. Pokud je řetězec prázdný, trim() vrátí prázdný řetězec.
let str = ''; if (str.trim() === '') { console.log('String is empty'); } else { console.log('String is not empty'); }
Výstup
String is empty
3. Použití přísného porovnání rovnosti s prázdným řetězcem:
V JavaScriptu se bere v úvahu prázdný řetězec padělky , což znamená, že je v booleovském kontextu považován za nepravdivý. Můžeme tedy použít přísné srovnání rovnosti ke kontrole, zda se řetězec rovná prázdnému řetězci.
let str = ''; if (str === '') { console.log('String is empty'); } else { console.log('String is not empty'); }
Výstup
String is empty
4. Použití ! operátor:
Můžeme použít ! operátor pro kontrolu, zda je řetězec padělky . Prázdný řetězec je v JavaScriptu považován za falešný, takže pokud je řetězec prázdný, ! vrátí true.
let str = ''; if (!str) { console.log('String is empty'); } else { console.log('String is not empty'); }
Výstup
String is empty
5. Použití metody charAt():
The charAt() metoda vrací znak na zadaném indexu v řetězci. Pokud je řetězec prázdný, charAt() vrátí prázdný řetězec.
let str = ''; if (str.charAt(0) === '') { console.log('String is empty'); } else { console.log('String is not empty'); }
Výstup
String is empty
6. Použití regulárních výrazů:
Můžeme také použít regulární výrazy pro kontrolu prázdného řetězce. Následující regulární výraz odpovídá prázdnému řetězci:
let str = ''; if (/^s*$/.test(str)) { console.log('String is empty'); } else { console.log('String is not empty'); }
Výstup
String is empty
V tomto regulárním výrazu ^ odpovídá začátku řetězce, s* odpovídá nule nebo více mezerám a $ odpovídá konci řetězce. Pokud je řetězec prázdný nebo obsahuje pouze mezery, regulární výraz se bude shodovat a vrátí hodnotu true.
7. Použití metody Object.prototype.toString():
Pokud máte proměnnou, kterou by mohl být řetězec nebo jiný typ objektu, můžete použít Object.prototype.toString() metodou získat jeho typ a poté zkontrolovat, zda se jedná o řetězec a zda je prázdný.
let str = {}; if (Object.prototype.toString.call(str) === '[object String]' &&str.trim() === '') { console.log('String is empty'); } else { console.log('String is not empty'); }
Výstup
String is empty
Tento kód používá Object.prototype.toString() metoda k získání typu proměnné str a poté zkontroluje, zda se jedná o řetězec porovnáním výsledku s řetězcem '[řetězec objektu]' . Pokud se jedná o řetězec, ořízne řetězec a zkontroluje, zda je prázdný.
8. Pomocí metody toString():
Pokud máme proměnnou, která by mohla být řetězec nebo null nebo nedefinovaná, můžeme použít toString() metodou pro převod na řetězec a poté zkontrolujte, zda je prázdný.
let str = null; if (str &&str.toString().trim() === '') { console.log('String is empty'); } else { console.log('String is not empty'); }
Výstup
String is empty
Tento kód nejprve zkontroluje, zda proměnná str není nulová nebo nedefinovaná, a poté ji převede na řetězec pomocí toString() metoda. Poté výsledný řetězec ořízne a zkontroluje, zda je prázdný.
9. Použití metody reduction():
Pokud máme pole řetězců a chceme zkontrolovat, zda některý z nich není prázdný, můžeme použít snížit() metoda pro iteraci pole a kontrola, zda není některý z řetězců prázdný.
let arr = ['', 'hello', 'world']; if (arr.reduce((acc, val) =>acc || val.trim() === '', false)) { console.log('Array contains an empty string'); } else { console.log('Array does not contain an empty string'); }
Výstup
Array contains an empty string
Tento kód používá snížit() metoda pro iteraci pole arr a zkontrolujte, zda některý z řetězců v poli není prázdný. The snížit() metoda trvá a zpětné volání funkce, která je volána na každém prvku pole, a počáteční hodnota false. The zpětné volání funkce zkontroluje, zda je aktuální prvek prázdný řetězec, a vrátí hodnotu true, pokud ano, nebo hodnotu akumulátoru ( přísl ) v opačném případě. Pokud je některý prvek v poli prázdný řetězec, konečný výsledek je snížit() metoda bude true, což znamená, že pole obsahuje prázdný řetězec.