>  기사  >  웹 프론트엔드  >  자바스크립트 등호 연산자_자바스크립트 스킬 사용법에 대한 자세한 설명

자바스크립트 등호 연산자_자바스크립트 스킬 사용법에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 16:03:481276검색

이 장에서는 JavaScript 등호 연산자의 사용법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

등호 연산자의 가장 기본적인 용도는 두 피연산자가 같은지 비교하는 것입니다. 다음 코드 예제를 참조하세요.

코드 복사 코드는 다음과 같습니다.

var a=2,b=2;
console.log(a==b);

두 피연산자가 같으면 반환 값은 true이고, 그렇지 않으면 false를 반환합니다.
위 내용은 가장 기본적인 사용법입니다. 상대적으로 특별한 상황을 몇 가지 소개하겠습니다.

코드 복사 코드는 다음과 같습니다.

var str="5";
변수 번호=5;
console.log(str==num);

위 코드의 반환값은 true입니다.

많은 친구들이 질문할 수 있습니다. 하나는 문자열이고 다른 하나는 숫자 유형입니다. 어떻게 반환 값이 true일 수 있습니까? 물론 C#이나 Java에서는 이것이 잘못된 것이지만 js에서는 문제가 되지 않습니다. 암시적 데이터 유형 변환이 완료되면 문자열이 숫자로 변환됩니다.
코드 예시를 살펴보겠습니다:

코드 복사 코드는 다음과 같습니다.

console.log(true==1);

위 코드도 true를 반환합니다. true도 암시적으로 변환되기 때문에 1로 변환되고, false는 false로 변환됩니다.
또 다른 코드 예제를 살펴보겠습니다:

코드 복사 코드는 다음과 같습니다.

var obj={
valueOf:함수(){return 10}
}
console.log(obj==10);

객체를 숫자와 직접 비교할 수 있으며 반환 값은 true입니다.
이는 객체가 먼저 valueOf() 메서드를 호출하고 해당 메서드가 없으면 toString() 메서드 호출을 시도하기 때문입니다.

JavaScript에서 두 개의 등호와 세 개의 등호의 차이점:

자바스크립트 코드에서는 등호 3개와 등호 2개가 사용되는 경우를 자주 볼 수 있습니다. 이들의 차이점을 소개하겠습니다.
코드 예:
예시 1:

코드 복사 코드는 다음과 같습니다.

console.log(0=="");
console.log(0==false);
console.log(""==false);

예 2:

코드 복사 코드는 다음과 같습니다.

console.log(0==="");
console.log(0===false);
console.log(""===false);

위의 코드는 두 연산자의 차이점을 보여줍니다.

3개의 등호 합동 연산자:

합동 연산자이므로 두 피연산자가 정확히 동일해야 동등하다는 구체적인 비교 규칙은 다음과 같습니다.

1. 두 연산이 값 유형인 경우 두 피연산자는 완전히 동일해야 합니다.
2. 참조 유형인 경우 두 피연산자는 동일한 개체를 가리켜야 동일합니다.

두 개의 등호 연산자:

이 연산자는 비교 시 두 피연산자의 유형이 다른 경우 구체적인 규칙은 다음과 같습니다.

1. 동일한 데이터 유형을 가진 값 유형인 경우 비교 규칙은 같음 연산자와 동일합니다.
2. 두 피연산자 유형이 동일하면 동일할 수도 있습니다.
a: 하나는 null이고 하나는 정의되지 않은 경우 둘은 동일합니다.
b: 하나는 문자열이고 다른 하나는 숫자 값인 경우 문자열을 숫자 값으로 변환한 후 비교합니다.
c: 어떤 값이 참이면 1로 변환하고, 거짓이면 0으로 변환하고 비교한다.
d: 하나가 객체이고 다른 하나가 숫자 값이나 문자열인 경우 객체를 기본 유형의 값으로 변환한 후 비교합니다. 객체는 toString 또는 valueOf 메소드를 사용하여 기본 유형으로 변환됩니다.

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

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