ホームページ > 記事 > ウェブフロントエンド > JS に文字列が存在するか空でないかを判断する方法
このトピックを見てどう思いますか?これは非常に簡単です。Typeof を使用して長さを決定します。
そうですかそうでしたか?
この文字列が new String() を使用して作成された場合はどうなるでしょうか?未知の変数 typeof はオブジェクトである必要があります。あなたならどうしますか?
最初にタイプを決定する必要があります。typeofunknownVariable==='object'?ただし、値の型がオブジェクトである null 変数も存在することを考慮する必要があります。 && 未知の変数を使用する必要がありますか?これは空ではないオブジェクトなので、長さを確認する必要はありません。しかし、最終的に、typeof オブジェクトは必ずしも文字列オブジェクトである必要はなく、配列、json オブジェクト、new から派生した他のオブジェクトなどの他のオブジェクトである可能性があります。私たちは何をすべきか?
これで、めったに使用されないが便利なメソッド、valueOf が登場します。 valueOf は変数の元の型を出力します。
if(typeof unknownVariable ==='string' && unknownVariable.length){ ... }
つまり、文字列リテラルを取得するか、新しい String から文字列オブジェクトを取得するかに関係なく、その valueOf 値は文字列リテラルです。その場合、その typeof 値はすべて string になります。
最終審査員は
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"}
以上がJS に文字列が存在するか空でないかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。