Comment vérifier si une variable est une chaîne de caractères en JavaScript
Bonjour à tous ! Je suis débutant en JavaScript et j'ai rencontré un problème. J'ai une fonction qui ne doit fonctionner qu'avec des valeurs de type string. Si je passe un nombre ou un objet, tout se casse. J'essaie de vérifier le type de la variable avec typeof, mais les résultats me perturbent.
Voici un exemple de mon code :
```javascript
function processInput(input) {
if (typeof input === 'string') {
console.log('C\'est une chaîne, longueur : ' + input.length);
} else {
console.log('Ce n\'est pas une chaîne !');
}
}
processInput('Bonjour'); // Fonctionne : "C'est une chaîne, longueur : 7"
processInput(42); // Fonctionne : "Ce n'est pas une chaîne !"
processInput(new String('Test')); // Affiche "Ce n'est pas une chaîne !" — alors que je m'attendais à ce que ce soit une chaîne !
processInput(null); // Affiche "Ce n'est pas une chaîne !" — ok
processInput(undefined); // Affiche "Ce n'est pas une chaîne !" — ok
```
Le problème est que lorsque je crée une chaîne via le constructeur new String(), typeof renvoie 'object', pas 'string'. Comment vérifier correctement si une variable est une chaîne ?
No answers yet.
Connectez-vous pour laisser une réponse
Blogs