crystal_dev
Crystal 개발 일지
crystal_dev
전체 방문자
오늘
어제
  • 분류 전체보기 (58)
    • Web (0)
    • Frontend (32)
      • React (0)
      • Javascript (17)
      • HTML & CSS (14)
      • DOM API (0)
    • 사이드프로젝트 (1)
      • Flask (1)
    • CS (0)
      • Network (0)
    • 형상관리 & 개발도구 (2)
      • git (1)
      • VSCode (1)
    • 알고리즘 (19)
      • 백준 알고리즘 (1)
      • 프로그래머스 (17)
      • 기타 (1)
    • Error (2)
      • javscript (1)
      • python (1)
    • blog (2)
      • daily (1)
      • 회고 (0)
      • it참고 (0)
      • 항해99 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • 느슨한타입
  • css정렬
  • js 기본
  • css위치
  • 프로그래머스
  • 프론트엔드
  • javascript error
  • js기본
  • userfont
  • let
  • Algorithm
  • match()
  • CSS
  • 풀이
  • frontend
  • Programmers
  • js
  • Javascript
  • 자바스크립트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
crystal_dev
Frontend/Javascript

[TIL] =, ==, === 의 차이점과 객체의 비교

[TIL] =, ==,  === 의 차이점과 객체의 비교
Frontend/Javascript

[TIL] =, ==, === 의 차이점과 객체의 비교

2022. 5. 10. 17:39
728x90
반응형

1. = 

= 는 값을 할당할 때 쓰인다.

let a = '123';

=을 기준으로 오른쪽에 있는 원시타입, 객체 등이 왼쪽의 변수에 저장이 된다. 

 

2. == (Equal Operator)

== 는 값만 비교해준다. 

'1' == 1 		//true
1 == true		//true
1 == '1'		//true
값만 비교하니 타입이 달라도 true

 

3. === (Strict Equal Operator)

=== 는 값 뿐만 아니라 타입까지 비교한다.

'1' === 1		// false
1 === true		// false
1 === '1'		// false

값은 같지만 타입이 다르므로 false

 

값과 타입이 같으므로 true

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
  • 1. = 
  • 2. == (Equal Operator)
  • 3. === (Strict Equal Operator)
  • 4. 객체의 비교
'Frontend/Javascript' 카테고리의 다른 글
  • [TIL] 변수 선언하기
  • [TIL] Undefined, null 의 차이점
  • [TIL] 불 값(boolean, 값들의 비교)
  • [TIL] 숫자 기본 (parseInt, NaN)
crystal_dev
crystal_dev
어제보다 더 나은 오늘의 내가 되자 ✧ʕ̢̣̣̣̣̩̩̩̩·͡˔·ོɁ̡̣̣̣̣̩̩̩̩✧

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.