과 == 의 차이점은 무엇인가요?

15 조회수
==는 값이 같은지 비교하는 일반 등가 연산자이다. ===는 엄격히 값과 데이터 유형이 같은지 확인하는 엄격한 등가 연산자이다.
의견 0 좋아요

자바스크립트에서 ==와 === 연산자는 값의 동일성을 비교하는 데 사용되지만 엄격성 수준이 다릅니다.

== 연산자 (일반 등가 연산자)

== 연산자는 피연산자의 값이 동일한지 확인합니다. 자동 형 변환을 수행하며 다음과 같은 규칙을 따릅니다.

  • 두 피연산자가 모두 숫자이면 숫자로 비교됩니다.
  • 한 피연산자가 숫자이고 다른 피연산자가 문자열이면 문자열로 변환된 숫자로 비교됩니다.
  • 한 피연산자가 불리언이고 다른 피연산자가 숫자이면 숫자로 변환된 불리언으로 비교됩니다.
  • 논리 연산자인 &&와 ||은 불리언으로 변환된 피연산자로 비교됩니다.

예:

1 == "1" // true
0 == false // true
null == undefined // true

=== 연산자 (엄격한 등가 연산자)

=== 연산자는 피연산자의 값과 데이터 유형이 모두 동일한지 확인합니다. 자동 형 변환을 수행하지 않으며 다음과 같은 규칙을 따릅니다.

  • 두 피연산자가 모두 숫자이면 숫자로 비교됩니다.
  • 한 피연산자가 숫자이고 다른 피연산자가 문자열이면 false를 반환합니다.
  • 한 피연산자가 불리언이고 다른 피연산자가 숫자이면 false를 반환합니다.
  • 논리 연산자인 &&와 ||은 불리언으로 변환되지 않고 원래 데이터 유형으로 비교됩니다.

예:

1 === "1" // false
0 === false // false
null === undefined // false

요약

연산자 자동 형 변환 데이터 유형 비교
== true false
=== false true

따라서 == 연산자는 값이 동일하면 true를 반환하는 일반적인 비교 연산자이지만, === 연산자는 값과 데이터 유형이 모두 동일하면 true를 반환하는 엄격한 비교 연산자입니다. 코드에서 엄격한 비교가 필요한 경우에는 === 연산자를 사용하는 것이 좋습니다.