이 주제를 보면 어떤 생각이 드시나요? 이것은 매우 간단합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!