JavaScript === vs ==

Harshit Jindal 2023년10월12일
  1. JavaScript의 느슨한 같음 연산자 (==)
  2. JavaScript의 Strict Equality 연산자 (===)
JavaScript === vs ==

비교 연산자는 두 변수가 같은지 또는 지정된 기준을 따르는 지 확인하는 데 도움이됩니다. 비교 결과가 양호하면true를 반환합니다. 그렇지 않으면false를 반환합니다. 이 튜토리얼은 비교 연산자 중에서 가장 혼동되는 주제를 설명하고 어느 것이 연산자 (==또는===)와 같은지 사용할시기를 알려줍니다.

단일 같음=는 할당 연산이고 비교 연산자이기 때문에 이중 같음==및 삼중 같음===과는 상당히 다릅니다. 따라서 일반적으로=====사이에 혼동이 발생합니다.

JavaScript의 느슨한 같음 연산자 (==)

==연산자 또는 같음 연산자는 추상 비교 연산자라고도합니다. 변수의 유형이 아닌 값에만 관심이 있으므로 추상이라고합니다. ==연산자는 변수 값을 서로 비교하기 전에 동일한 유형 (유형 강제 변환)으로 변환을 수행하고 변환 된 피연산자가 같으면 true를 반환합니다. 연산자는 유형 변환을 수행해야하기 때문에===연산자보다 약간 느린 경향이 있습니다.

이제 어떤 연산자를 사용해야하는지 이해하려면 먼저 유형 강제에 대해 조금 이해해야합니다. 두 가지 유형이 있습니다.

  1. 명시 적 강제: 내장 메소드를 사용하여 코드를 통해 명시 적으로 수행됩니다. 예 : 문자열"42"를 숫자로 변환하려면Number("42")를 작성해야합니다. 이런 식으로 명시적인Number()유형 변환 메소드를 사용하여 문자열을 숫자로 변환합니다.
  2. 암시 적 강제: 언어에 의해 암묵적으로 수행됩니다. 일반적으로 연산자와 함께 두 가지 유형의 피연산자를 사용할 때 수행됩니다. 예 :1 + ""를 수행하는 경우. 직접 추가 할 수없는 하나의 숫자와 하나의 문자열이 있으므로 JavaScript 유형은 숫자를 추가 할 수있는 유일한 방법이므로 숫자를 문자열로 변환하고 문자열"1"을 반환합니다.
23 == '23'         // returns true
true + false == 1  // returns true
undefined ==
    null         // returns true
        [] == 0  // returns true

JavaScript의 Strict Equality 연산자 (===)

===연산자 또는 ID 연산자는 엄격한 비교 연산자라고도합니다. 두 피연산자의 유형과 값이 모두 동일한 경우에만 true를 반환하기 때문에 strict라고합니다. 어떤 유형의 변환도 수행하지 않습니다. 따라서==연산자보다 더 빠른 경향이 있습니다.

true === true  // returns true
true === 1     // returns false

따라서==또는===연산자를 선택하는 결정에는 유형 강제가 필요합니다. 유형 강제에 익숙하지 않은 사람은 엄격한 항등 연산자를 사용해야합니다.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

관련 문장 - JavaScript Operator