>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 '=='와 '==='의 차이점

자바스크립트 '=='와 '==='의 차이점

小云云
小云云원래의
2018-03-19 09:42:101229검색

html과 php에는 모두 연산자가 있습니다. JavaScript에서 가장 일반적으로 사용되는 연산자는 "=="입니다. 많은 사람들이 "==="에 익숙하지 않을 수 있습니다. 그렇다면 이들의 차이점은 무엇입니까?

===는 동일성을 의미하며, 먼저 양쪽 변수의 데이터 유형이 같은지 비교하고, 두 번째로 양쪽 변수의 값이 같은지 비교합니다. ==는 같음을 의미하며, 이는 여부만 비교한다는 의미입니다. 양쪽의 변수 값은 동일합니다.

차이:

==, 양쪽의 값 유형이 다른 경우 유형 변환을 먼저 수행한 후 비교해야 합니다.
==, 유형 변환이 수행되지 않습니다. 서로 다른 유형이 동일하면 안 됩니다.

다음은 별도로 설명합니다.

먼저 "==="에 대해 이야기해 보겠습니다. 비교적 간단합니다. 두 값이 === 같은지 여부를 결정하는 데 다음 규칙이 사용됩니다.

1. 유형이 다르면 같지 않습니다.

2 둘 다 숫자 값이고 동일한 값인 경우 then [같음]; (! 예외) 중 하나라도 NaN이면 [같지 않음]입니다. (값이 NaN인지 확인하려면 isNaN()만 사용하면 됩니다.)

3. 둘 다 문자열이고 각 위치의 문자가 동일하면 동일하지 않습니다.

4. 두 값이 모두 true이거나 둘 다 false이면 동일합니다.

5. 두 값이 동일한 개체나 함수를 참조하면 동일하며, 그렇지 않으면 동일하지 않습니다.

6. 두 값이 모두 null이거나 둘 다 정의되지 않은 경우에는 동일합니다.
"=="에 대해 이야기해 봅시다.
두 값 유형이 서로 다르면 같을 수도 있습니다. 유형 변환을 수행한 후 다음 규칙에 따라 비교하십시오.

a. 하나는 null이고 다른 하나는 정의되지 않은 경우 동일합니다.

b. 하나는 문자열이고 다른 하나는 숫자 값인 경우 문자열을 숫자 값으로 변환한 후 비교하세요.

c. 값이 true이면 1로 변환하고, false이면 0으로 변환하여 비교합니다.

d. 하나는 객체이고 다른 하나는 숫자 값이나 문자열인 경우 객체를 기본 유형의 값으로 변환한 후 비교합니다. 객체는 toString 또는 valueOf 메소드를 사용하여 기본 유형으로 변환됩니다. Node.js 핵심 내장 클래스는 toString;

e 전에 valueOf를 시도합니다. 다른 조합은 동일하지 않습니다.

요약:

즉, "=="는 값 간의 비교이고, "==="는 값 간의 비교일 뿐만 아니라 일반적으로 When에서 유형 간의 비교이기도 합니다. 프로젝트를 수행하면서 다양한 비즈니스에 따라 어떤 것을 사용할지 결정합니다. 대부분의 개발자는 엄격하지 않은 "=="에 익숙합니다.

관련 권장 사항:

Javascript의 이중 등호(==)는 암시적입니다. 변환 메커니즘

JavaScript의 if와 스위치, ==와 ===의 차이점과 연결에 대한 자세한 설명

PHP의 == 연산자의 문자열 비교 사용법과 그 부작용에 대한 자세한 설명


위 내용은 자바스크립트 '=='와 '==='의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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