Wie überprüft man in JavaScript, ob eine Variable ein String ist?
Hallo zusammen! Ich bin neu in JavaScript und habe ein Problem. Ich habe eine Funktion, die nur mit String-Werten arbeiten soll. Wenn ich eine Zahl oder ein Objekt übergebe, bricht alles zusammen. Ich versuche, den Typ der Variable mit typeof zu überprüfen, aber die Ergebnisse verwirren mich.
Hier ist ein Beispiel meines Codes:
```javascript
function processInput(input) {
if (typeof input === 'string') {
console.log('Das ist ein String, Länge: ' + input.length);
} else {
console.log('Das ist kein String!');
}
}
processInput('Hallo'); // Funktioniert: "Das ist ein String, Länge: 5"
processInput(42); // Funktioniert: "Das ist kein String!"
processInput(new String('Test')); // Gibt aus: "Das ist kein String!" — aber ich erwartete, dass es ein String ist!
processInput(null); // Gibt aus: "Das ist kein String!" — ok
processInput(undefined); // Gibt aus: "Das ist kein String!" — ok
```
Das Problem ist, dass typeof 'object' zurückgibt, wenn ich einen String über den Konstruktor new String() erstelle, nicht 'string'. Wie überprüft man richtig, ob eine Variable ein String ist?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen