Javascript 평등 이해 == vs ===

4564 단어 javascriptequality

==를 사용한 느슨한 동등성



이 연산자는 두 값이 같은지 비교합니다. (==)는 암시적으로 값을 변환하므로 데이터 유형에 대해 신경쓰지 않습니다.

예시

'2' == 2 // true
'' == 0 // false
0 == '' // true

false == '0' // true
false == 'false' // false

' \t\r\n ' == 0 // true


===를 사용한 엄격한 동등성



매우 엄격하고 데이터 유형에 관심이 있습니다.

이 경우 값 변환이 발생하지 않습니다. 값의 유형이 다른 경우 false로 평가됩니다.

예시

'2' === 2 //false
'' === 0 //false

//Comparing operands of the same Type
console.log("hello" === "hello");   // true
console.log("hello" === "hola");    // false

console.log(3 === 3);               // true
console.log(3 === 4);               // false

console.log(true === true);         // true
console.log(true === false);        // false

console.log(null === null);         // true




엄격한 평등은 코드를 더욱 강력하게 만들어 조건 이후에 발생할 수 있는 기본 값 변경이 없습니다.

규칙
  • 피연산자의 유형이 다른 경우 false를 반환합니다.
  • 두 피연산자가 객체이면 동일한 객체를 참조하는 경우에만 true를 반환합니다.
  • 두 피연산자가 모두 null이거나 두 피연산자가 모두 정의되지 않은 경우 true를 반환합니다.
    -피연산자 중 하나가 NaN이면 false를 반환합니다.
    (숫자는 숫자 값이 같아야 합니다. +0과 -0은 같은 값으로 간주됩니다.)
  • 문자열은 동일한 순서로 동일한 문자를 포함해야 합니다.
  • 부울은 둘 다 참이거나 모두 거짓이어야 합니다.



  • 참조 [ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness ]

    좋은 웹페이지 즐겨찾기