JS 기본 상식 | == 와 === 차이

space's pace·2022년 6월 30일
0

Javascript

목록 보기
12/20


출처 : [https://velog.io/@filoscoder/-%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4-oak1091tes]

동등연산자 (==)

==는 동등연산자(Equal Operator)이고, ===는 일치 연산자(Strict Equal Operator)이다.

동등연산자(==)는 두 개의 피연산자가 동일한지 확인하며, Boolean값을 반환 한다.

console.log(1 == 1);
// expected output: true

console.log('hello' == 'hello');
// expected output: true

console.log('1' ==  1);
// expected output: true

console.log(0 == false);
// expected output: true

0 == null;            // false
0 == undefined;       // false
0 == !!null;          // true, look at Logical NOT operator
0 == !!undefined;     // true, look at Logical NOT operator
null == undefined;    // true

일치연산자(===)

일치연산자(===)는 Strict, 즉 엄격한 Equal Operator로써, "엄격하게" 같음을 비교할 때 사용하는 연산자이다. (타입까지)

console.log(1 === 1);
// expected output: true

console.log('hello' === 'hello');
// expected output: true

console.log('1' ===  1);
// expected output: false

console.log(0 === false);
// expected output: false

<기본자료형(Primitive)>

값은 똑같이 1이지만 값의 종류가 숫자냐, 문자열이냐에 따라 === 연산자를 사용할 때 결과가 false라고 나온다.

🧐 결론

변수를 비교하거나 어떤 비교를 위해 항상 '===' 연산자를 사용 할 것을 권장한다.

가능한 '==' 연산자를 사용하지 않도록 하고, 대신 직접 자료형을 변환하여(casting) 보다 코드 가독성을 높이도록 한다.


참고
MDN | https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Equality
자바스크립트: '==' 와 '===' 는 다르다! | https://velog.io/@filoscoder/-%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4-oak1091tes

profile
블로그 이사 준비중!

0개의 댓글