이 장에서는 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 비디오 튜토리얼을 방문하세요.