> 웹 프론트엔드 > JS 튜토리얼 > !=, ==, !==, === 사용법 요약

!=, ==, !==, === 사용법 요약

php中世界最好的语言
풀어 주다: 2018-04-23 10:15:28
원래의
5065명이 탐색했습니다.

이번에는 !=, ==, !==, ===의 사용법과 !=, ==, !==, === 사용 시 주의사항을 알려드립니다. 실제 사례를 살펴보겠습니다.

var num = 1;  
var str = '1'; 
var test = 1; 
test == num  //true 相同类型 相同值 
test === num //true 相同类型 相同值 
test !== num //false test与num类型相同,其值也相同, 非运算肯定是false 
num == str  //true  把str转换为数字,检查其是否相等。 
num != str  //false == 的 非运算 
num === str //false 类型不同,直接返回false 
num !== str //true  num 与 str类型不同 意味着其两者不等 非运算自然是true啦
로그인 후 복사

== 및 != 유형이 다른 경우 먼저 유형 변환을 시도한 다음 값을 비교하고 마지막으로 값 비교 결과를 반환합니다.

And

=== 및 !==는 동일한 유형인 경우에만 해당 값을 비교합니다.

우선 == 평등은 평등, === 정체성은 평등합니다.

==, 양측의 값 유형이 다른 경우 유형 변환을 먼저 수행한 후 비교해야 합니다.

===, 유형 변환이 수행되지 않습니다. 서로 다른 유형이 동일하면 안 됩니다.

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

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

1. 유형이 다른 경우 [같지 않음]

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

3. 둘 다 문자열이고 각 위치의 문자가 동일하면 [같음], 그렇지 않으면 [같지 않음] .

4. 두 값이 모두 true이거나 둘 다 false인 경우 [같음]입니다.

5. 두 값이 모두 동일한 개체나 함수를 참조하는 경우 [같음]이고, 그렇지 않으면 [같지 않음]입니다.

6. 두 값이 모두 null이거나 둘 다 정의되지 않은 경우 [같음]입니다.

다음 규칙에 따라 ==에 대해 이야기해 보겠습니다.

1 두 값 유형이 동일하면 === 비교를 수행합니다.

2. 두 값 유형이 다른 경우에는 동일할 수 있습니다. 유형 변환을 수행한 후 다음 규칙에 따라 비교합니다.

a. 하나는 null이고 다른 하나는 정의되지 않은 경우 [equal]입니다.

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

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

d. 하나는 객체이고 다른 하나는 숫자 값이나 문자열인 경우 객체를 기본 유형의 값으로 변환한 후 비교합니다. 객체는 toString 또는 valueOf 메소드를 사용하여 기본 유형으로 변환됩니다. JS 핵심 내장 클래스는 toString 전에 valueOf를 시도합니다. 예외는 toString 변환을 사용하는 Date입니다. (더 귀찮고, 잘 이해가 안 가네요) 또는 다른 조합과 같은 비-js 핵심 객체는 [같지 않음]입니다.

예:

"1" == true

유형이 동일하지 않으며 true가 먼저 값 1로 변환되고 이제 "1" == 1이 된 다음 "1"이 다음으로 변환됩니다. 1이고 1과 비교하면 == 1, 같습니다.

=

할당 연산자

==는 ===와 엄격하게 동일

예:

var a = 3; var b = "3";

a==b는 true를 반환합니다.

a == =b는 false를 반환합니다


a와 b의 유형이 다르기 때문에

===는 엄격한 비교 및 ​​판단에 사용됩니다

var data = ({"val":"7","flag":"true"});
<FONT face=Verdana></FONT>
로그인 후 복사

아래 플래그의 값을 판단하는 방법은 무엇입니까?

true에 큰따옴표 ==를 더하면 문자열 true로 추정되기 때문입니다

큰따옴표가 없으면 ===가 부울 값 true

이게 매우 중요합니다. 이전에는 이것을 이해한 적이 없습니다

작성 방법 1

if(data.flag=true){…}else{..}
로그인 후 복사
는 어떻게 써도 정확하고 else의 값을 전혀 얻을 수 없습니다. 이유는 이 쓰기 방식이

if(true){…}
로그인 후 복사
로그인 후 복사

Writing 2

if(data.flag==true){…}else{..}
로그인 후 복사
에 해당하기 때문입니다. is no such way of writing

Writing 3

if(data.flag='true'){…}else{..}
로그인 후 복사
은 어떻게 써도 else의 가치를 전혀 얻을 수 없기 때문에

와 같습니다.
if(true){…}
로그인 후 복사
로그인 후 복사

글4

if(data.flag=='true'){…}else{..}
로그인 후 복사

这个才是正确的写法

“=”:这个表示赋值,不是表示运算符

“==”:表示等于(值)

“===”:表示全等于(类型和值)

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS使用技巧整理

JS发送json格式POST请求实现步奏

위 내용은 !=, ==, !==, === 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿