javascript js 빈 문자열 '= = 0 이 true 인 비교 문 제 를 이야기 합 니 다.

3282 단어 WEB-Front
우 리 는 먼저 사례 를 보 자.
var a = 0, b = '';
console.log(a, b, a==b); 	// 0 true

a = '0', b = '';
console.log(a, b, a==b);	// 0 false

사례 에서 두 가지 결론 을 얻 을 수 있다.
  • 문자열 '0'! = '
  • 숫자 0 = ''
  • 그렇다면 왜 이 결과 일 까?
  • a, b 가 모두 string 형식 일 때 a, b 문자 서열, 길이 가 일치 하 는 지 비교 하면 분명히 '0'! = '
  • a, b 가 number 형식 일 때 다른 하 나 를 number 로 바 꾸 고 빈 문자열 을 number = 0 으로 바 꾸 기 때문에 0 = 0 이 성립 됩 니 다
  • 그렇다면 어떻게 통용 되 는 실현 0 은 빈 문자열 과 같 지 않 습 니까?가장 간단 한 처리 방식 은 내 현적 형식 으로 전환 하여 문자열 로 비교 하 는 것 이다. 다음 과 같다.
    var a = 0, b = "";
    console.log(a, b, ''+a==''+b);		// false
    //
    a = '0';
    console.log(a, b, ''+a==''+b);		// false
    

    좋은 웹페이지 즐겨찾기