== 와 ===의 차이

Verba volant, scripta manent·2021년 8월 21일
0

JS면접뽀시기

목록 보기
7/10

자바스크립트에서 동등함은 주로 ===를 쓴다.
그런데 ==도 있다고 한다.
그럼 =====의 차이는 무엇일까?

우선 =====를 무엇이라고 칭하는지 알아보자.

==(동등 비교 연산자)

좌항과 우항 피연산자의 값으로 동등함을 비교한다.(느슨한 비교)
-> 타입이 다르더라도 값이 같으면 true 리턴

예시

Number와 Boolean 타입 비교

0과 false의 값이 동일하므로 true 리턴

0 == false // true

Number와 String 타입 비교

타입이 어쨌든 상관없이 값이 동일하므로 true 리턴

10 == "10" // true

===(일치 비교 연산자)

좌항과 우항 피연산자의 값과 타입 모두를 고려하여 동등함을 비교한다.(엄격한 비교)
-> 타입과 값 둘다 같아야 true 리턴

Number와 Boolean 타입 비교

0과 false의 타입이 다르므로 false 리턴

0 === false // false

console.log(typeof 0); // number
console.log(typeof false); // boolean

Number와 String 타입 비교

값은 같지만 두 연산자의 타입이 달라서 false 리턴

10 === "10" // false

console.log(typeof 10); // number
console.log(typeof "10"); // string

내 개인적인 생각

걍 일치 비교 연산자를 쓰는 습관을 들이자!

자바스크립트에서 falsy한 값을 반환하는 6가지

  • false
  • 0
  • ""
  • null
  • undefined
  • NaN
  • 결론

    1. ==(동등 비교 연산자)는 값으로만 비교하여 boolean 값을 리턴한다.
    2. ===(일치 비교 연산자)는 값과 타입 모두 비교하여 boolean 값을 리턴한다.
    3. ===가 더 정확하므로 ===을 쓰는 습관 들이자.
    profile
    말은 사라지지만 기록은 남는다

    0개의 댓글