728x90
반응형
1. =
= 는 값을 할당할 때 쓰인다.
let a = '123';
=을 기준으로 오른쪽에 있는 원시타입, 객체 등이 왼쪽의 변수에 저장이 된다.
2. == (Equal Operator)
== 는 값만 비교해준다.
'1' == 1 //true
1 == true //true
1 == '1' //true

3. === (Strict Equal Operator)
=== 는 값 뿐만 아니라 타입까지 비교한다.
'1' === 1 // false
1 === true // false
1 === '1' // false


4. 객체의 비교

객체끼리 비교할 때는 조금 유의할 점이 있다.
== 은 주소값을 비교한다.
let a = {} //객체
let b = {} //객체
let c = a
console.log(a == b) // false
console.log(a === b) // false
console.log(a == c) // true
object는 해당 변수에 주소값이 저장되어 있다.
a, b 객체가 모양이 같아 보일지라도, 메모리상 a와 b는 서로 다른 주소값을 가지고 있다.
결국 변수에 저장된 주소값이 다르기 때문에 1번째와 2번째 둘다 false가 반환된다.
2번째는 타입은 같지만, 주소값이 다르기 때문에 false이다.
3번째는 c 변수에 a의 주소값을 그대로 넣어서 a와 c 둘 다 같은 주소값을 가지고 있으므로
값도 같고, 타입도 같으므로 true이다. (값을 복사)
728x90
반응형
'Frontend > Javascript' 카테고리의 다른 글
[TIL] 변수 선언하기 (0) | 2022.05.23 |
---|---|
[TIL] Undefined, null 의 차이점 (0) | 2022.05.11 |
[TIL] 불 값(boolean, 값들의 비교) (0) | 2022.05.10 |
[TIL] 숫자 기본 (parseInt, NaN) (0) | 2022.05.10 |
[TIL] 문자열 합치기(연산자) (0) | 2022.05.10 |