Maison > interface Web > js tutoriel > le corps du texte

Comment déterminer si une chaîne existe ou n'est pas vide dans JS

yulia
Libérer: 2018-09-11 17:29:56
original
1453 Les gens l'ont consulté

Que pensez-vous lorsque vous voyez ce sujet ? C'est très simple. Tapez et déterminez ensuite la longueur.

  if(typeof unknownVariable ==='string' && unknownVariable.length){
        ...
    }
Copier après la connexion

L'avez-vous fait ?

Et si cette chaîne est créée à l'aide de new String() ? La variable inconnue typeof doit être un objet. que feriez-vous?
Vous devez absolument déterminer le type en premier, typeof unknownVariable==='object' ? Mais il faut penser qu'il existe aussi une variable nulle dont le type de valeur est également objet. Devons-nous utiliser && unknownVariable ? Maintenant, c'est un objet non vide. Devons-nous vérifier la longueur? Cela ne devrait pas être nécessaire. Mais au final, l'objet typeof n'est pas nécessairement un objet chaîne, il peut s'agir d'autres objets, comme des tableaux, des objets json, d'autres objets dérivés de new, etc. Ce qu'il faut faire?

Il s'agit d'une méthode rarement utilisée mais utile : valueOf. valueOf affichera le type d'origine de la variable.

 let str1="test"
    let str2=new String('test2')
    let arr1=[1,2,3]
    let fn1=function(){
        console.log('this is a function')
    }
    let obj1={
        name:'gpd'
    }
    let obj2=new Object()
    obj2.name='gpd'   
    str1.valueOf()  // "test"
    str2.valueOf()  //"test2"
    arr1.valueOf()  //[1,2,3]
    fn1.valueOf()  //fn1(){}
    obj1.valueOf() // {name:"gpd"}
    obj2.valueOf() // {name:"gpd"}
Copier après la connexion

Ainsi, que vous soyez une chaîne littérale ou un objet chaîne obtenu par new String, sa valeur valueOf est une chaîne littérale. Ensuite, ses types de valeurs sont tous des chaînes .
Le jugement final est donc

if(typeof unknownVariable !=undefined 
    && unknownVariable 
   && typeof unknowVariable.valueOf() === "string")
   {
       ...
   }
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!