>  기사  >  웹 프론트엔드  >  Javascript 연구 노트: 평등 기호 및 엄격한 평등 기호

Javascript 연구 노트: 평등 기호 및 엄격한 평등 기호

PHPz
PHPz원래의
2016-05-16 16:30:401732검색

이 장에서는 JavaScript의 평등 기호와 엄격한 평등 기호를 자세히 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

자바스크립트에는 두 값이 같은지 여부를 확인하는 두 가지 방법이 있습니다.

등호 기호

등호 기호는 두 개의 등호로 구성됩니다. ==
Javascript는 약한 형식의 언어입니다. 이는 등호 기호가 두 값을 비교하기 위해 유형을 캐스팅한다는 것을 의미합니다.

""           ==   "0"           // false
0            ==   ""            // true
0            ==   "0"           // true
false        ==   "false"       // false
false        ==   "0"           // true
false        ==   undefined     // false
false        ==   null          // false
null         ==   undefined     // true
" \t\r\n"    ==   0             // true

위 코드는 유형 변환 결과를 보여주기 때문에 등호 ==를 사용하는 것은 나쁜 프로그래밍 습관임을 알 수 있습니다. Javascript의 복잡한 유형 변환 메커니즘으로 인해 결과 오류를 추적하기가 어려워집니다.

또한 유형 강제는 성능에 일정한 영향을 미칩니다. 예를 들어 문자열을 숫자와 비교하면 숫자로 강제됩니다.

엄격한 평등 기호

엄격한 평등 기호는 세 개의 등호로 구성됩니다. ===
균등 기호와 유사하게 작동하지만 엄격한 평등 기호는 강제 유형 변환 작업을 수행하지 않습니다.

""           ===   "0"           // false
0            ===   ""            // false
0            ===   "0"           // false
false        ===   "false"       // false
false        ===   "0"           // false
false        ===   undefined     // false
false        ===   null          // false
null         ===   undefined     // false
" \t\r\n"    ===   0             // false

위 코드를 사용하면 코드가 더 명확해집니다. 두 값의 유형이 다른 경우 false가 직접 반환되므로 성능도 향상됩니다.

객체 비교

==와 ===는 등호 기호라고 부르지만, 비교되는 두 값 중 하나가 객체일 경우 동작에 큰 차이가 납니다 .

{} === {};                   // false
new String('foo') === 'foo'; // false
new Number(10) === 10;       // false
var foo = {};
foo === foo;                 // true

여기서는 더 이상 두 값이 동일한지 비교하는 것이 아니라 두 값이 동일한 객체 인스턴스를 참조하는지 여부를 확인합니다. 기음.

요약

엄격한 등호 기호 ===만 사용하는 것이 좋습니다. 유형 변환이 필요한 경우 Javascript 자체의 복잡한 캐스트 메소드에 의존하는 대신 비교 전에 명시적인 유형 변환을 수행할 수 있습니다.

위 내용은 이 장의 전체 내용입니다. 더 많은 관련 튜토리얼을 보려면 JavaScript 비디오 튜토리얼을 방문하세요.

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