스터디
JavaScript에서의 =, ==, === 차이점 본문
< = 연산자>
> 대입 연산자: 왼쪽 피연산자에 오른쪽 피연산자의 값을 대입한다.
var a = 1;
let b = 2;
const c = 3;
< == 연산자>
> 동등 연산자: 두 개의 피연산자가 동일한지 확인하며, Boolean 값을 반환한다.
- 두 피연산자의 타입이 다를 경우, 비교하기 전에 자동으로 동일한 타입으로 변환한 후 비교한다.
console.log(1 == 1); // true
console.log('hello' == 'hello'); // true
console.log('1' == 1); // true
console.log(0 == false); // true
console.log(null == undefined); // true
- 두 피연산자가 모두 객체일 때, 두 피연산자가 동일한 객체를 참조할 때만 true를 반환한다.
- 하나의 피연산자가 null이고 다른 하나가 undefined일 때, true를 반환한다.
< === 연산자 >
> 일치 연산자: 두 개의 피연산자가 동일한지 확인하며, Boolean 값을 반환한다.
- 동등 연산자와 달리 타입 변환을 시도하지 않는다.
- 따라서 다른 타입을 가진 피연산자는 다르다고 판단한다.
console.log(1 === 1); // true
console.log('hello' === 'hello'); // true
console.log('1' === 1); // false
console.log(0 === false); // false
console.log(null === undefined); // false
console.log(NaN === NaN); // false
- 피연산자의 타입이 다르면 false를 반환한다.
- 두 피연산자가 모두 개체인 경우 동일한 개체를 참조하는 경우에만 true를 반환한다.
- 두 피연산자가 모두 null이거나 두 피연산자가 모두 undefined일 경우 true를 반환한다.
- NaN 값은 자기 자신을 포함하여 어떠한 값과도 일치하지 않는다. 따라서 피연산자 중 하나가 NaN이면 false를 반환한다.
'백엔드' 카테고리의 다른 글
JavaScript enum (1) | 2023.04.04 |
---|---|
JavaScript REST API (0) | 2023.04.04 |
JavaScript 네이밍 컨벤션 (1) | 2023.04.04 |
JavaScript callback 함수 (0) | 2023.04.04 |
var, let, const 차이점 (0) | 2023.04.03 |