>웹 프론트엔드 >JS 튜토리얼 >JS에서 문자열이 존재하는지 또는 비어 있지 않은지 확인하는 방법

JS에서 문자열이 존재하는지 또는 비어 있지 않은지 확인하는 방법

yulia
yulia원래의
2018-09-11 17:29:561483검색

이 주제를 보면 어떤 생각이 드시나요? 이것은 매우 간단합니다. Typeof를 선택하고 길이를 결정합니다.

  if(typeof unknownVariable ==='string' && unknownVariable.length){
        ...
    }

해보셨나요?

new String()을 사용하여 이 문자열을 생성하면 어떻게 될까요? 알 수 없는 변수 typeof는 object여야 합니다. 당신은 무엇을 하시겠습니까?
꼭 먼저 유형을 결정해야 합니다. 유형ofunknownVariable==='객체'? 하지만 값 유형이 객체인 null 변수도 있다고 생각해야 합니다. &&knownVariable을 사용해야 합니까? 이제 null이 아닌 개체입니다. 길이를 확인해야 합니까? 그러나 결국 typeof 개체는 반드시 문자열 개체일 필요는 없으며 배열, json 개체, new에서 파생된 다른 개체 등과 같은 다른 개체일 수 있습니다. 무엇을 해야 할까요?

이것은 거의 사용되지 않지만 유용한 방법입니다: valueOf. valueOf는 변수의 원래 유형을 출력합니다.

 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"}

따라서 문자열 리터럴이든 새 문자열로 얻은 문자열 객체이든 해당 valueOf 값은 문자열 리터럴입니다. 그런 다음 해당 유형의 값은 모두 string 입니다.
그러니까 최종 판단은

if(typeof unknownVariable !=undefined 
    && unknownVariable 
   && typeof unknowVariable.valueOf() === "string")
   {
       ...
   }

위 내용은 JS에서 문자열이 존재하는지 또는 비어 있지 않은지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.