
다른 언어들과 다르게 자바스크립트는 비교 연산자가 두 개! 이는 자바스크립트가 약타입 언어이기때문인데, 동등연산자(==)와 일치연산자(===)가 존재한다.
강타입 언어 : 형변환이 금지 되어있으며 필요시 명시적으로 타입 선언 필요 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의 결과를 보여준다.
'ETC' 카테고리의 다른 글
[Web] Apache Tomcat 9.0 (0) | 2023.09.08 |
---|---|
[Web] Java (jdk-20) (0) | 2023.09.08 |

다른 언어들과 다르게 자바스크립트는 비교 연산자가 두 개! 이는 자바스크립트가 약타입 언어이기때문인데, 동등연산자(==)와 일치연산자(===)가 존재한다.
강타입 언어 : 형변환이 금지 되어있으며 필요시 명시적으로 타입 선언 필요 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의 결과를 보여준다.
'ETC' 카테고리의 다른 글
[Web] Apache Tomcat 9.0 (0) | 2023.09.08 |
---|---|
[Web] Java (jdk-20) (0) | 2023.09.08 |