[Javascript] = / == / ===

2024. 4. 11. 15:36· ETC

 

 

 

 

다른 언어들과 다르게 자바스크립트는 비교 연산자가 두 개! 이는 자바스크립트가 약타입 언어이기때문인데, 동등연산자(==)와 일치연산자(===)가 존재한다.

 

강타입 언어 : 형변환이 금지 되어있으며 필요시 명시적으로 타입 선언 필요 ex) Go, Python
약타입 언어 : 형변환 가능. 컴파일 혹은 실행시 암시적으로 형변환해주는 경우 有 ex) Javascript, C

 

 

간단하게 정리하면 =는 값을 배정할 때, ==는 값을 비교할 때 사용하고 ===는 값(data type)을 비교할 때 사용한다.

 

 


 

 

var a = 10;
var b = '10';

a == b //true
a === b //false

 

 

 

위의 코드에서 a는 정수(int), b는 문자(string)으로 할당된다. 자바스크립트는 동적 형지정 언어이기때문에 변수 선언 시 데이터 형을 지정할 필요가 없음. 데이터 형이 스크립트 실행 도중 필요에 의해 자동으로 변환됨. ==(동등연산자)는 a와 b가 모두 10을 의미하므로 암묵적으로 형변환하여 둘을 같은 값으로 판단한다. 반면 ===(일치연산자)는 a와 b의 자료형이 다른 것을 파악하여 둘을 다른 값으로 판단한다.

 

 

 

a = b;

a == b // true
a === b // true

 

 

 

=(할당연산자)는 왼쪽의 변수에 오른쪽 변수의 값을 할당해주는 역할을 한다. 따라서 해당 코드에서 a는 더이상 정수 10이 아니라 문자 '10'의 값을 갖게 된다. 자료형마저 같게 되어버린 두 변수를 비교하면 이제는 ===(일치연산자)도 true의 결과를 보여준다.

 

 

 

더보기

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators

'ETC' 카테고리의 다른 글

[Web] Apache Tomcat 9.0  (0) 2023.09.08
[Web] Java (jdk-20)  (0) 2023.09.08
_키아
_키아
_키아
On Ground
_키아
전체
오늘
어제
  • 분류 전체보기 (28)
    • Error (3)
    • Python (5)
      • NLP (4)
    • Unity (15)
      • 2D (1)
      • 3D (1)
      • VR (1)
      • AR (1)
      • Error (9)
    • Unreal (0)
    • Code (1)
      • Leatcode (0)
      • Baekjoon (0)
    • ETC (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SDK
  • NDK
  • scripttemplate
  • JDK
  • Unity
  • 자연어처리
  • AR
  • 유니티
  • unity6
  • ARFoundation

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
_키아
[Javascript] = / == / ===
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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