비교 연산자

2022. 12. 28. 16:36Javascript/TCP school

비교 연산자(comparison operator)

피연산자 사이의 상대적인 크기를 판단하여, 참(true)과 거짓(false)을 반환

두 개의 피연산자를 가지는 이항 연산자

피연산자들의 결합 방향은 왼쪽에서 오른쪽

비교 연산자 설명
== 왼쪽 피연산자와 오른쪽 피연산자의 값이 같으면 참을 반환함.
=== 왼쪽 피연산자와 오른쪽 피연산자의 값이 같고, 같은 타입이면 참을 반환함.
!= 왼쪽 피연산자와 오른쪽 피연산자의 값이 같지 않으면 참을 반환함.
!== 왼쪽 피연산자와 오른쪽 피연산자의 값이 같지 않거나, 타입이 다르면 참을 반환함.
> 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크면 참을 반환함.
>= 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같으면 참을 반환함.
< 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작으면 참을 반환함.
<= 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같으면 참을 반환함.

 

피연산자의 타입에 따라 두 가지 기준으로 비교

1. 피연산자가 둘 다 숫자면, 해당 숫자를 서로 비교

2. 피연산자가 둘 다 문자열이면, 문자열의 첫 번째 문자부터 알파벳 순서대로 비교합

var x = 3, y = 5;

var a = "abc", b = "bcd";

document.write((x > y) + "<br>");  // y의 값이 x의 값보다 크므로 false

document.write((a <= b) + "<br>"); // 알파벳 순서상 'a'가 'b'보다 먼저 나오므로 'a'가 'b'보다 작음. true

document.write(x < a);             // x의 값은 숫자이고 a의 값은 문자열이므로 비교할 수 없음. false

타입이 서로 달라 비교할 수 없는 경우 - 거짓(false)


동등 연산자와 일치 연산자

동등 연산자(==, equal), 일치 연산자(===, strict equal) - 두 개의 피연산자가 서로 같은지를 비교

피연산자의 타입을 가리지는 않지만, 그 같음을 정의하는 기준이 조금 다름

 

동등 연산자(==)

두 피연산자의 값이 서로 같으면 참(true)을 반환

타입이 서로 다르면, 비교를 위해 강제로 타입을 같게 변환

일치 연산자(===)

타입의 변환 없이 두 피연산자의 값이 같고, 타입도 같아야만 참(true)을 반환

var x = 3, y = '3', z = 3;

document.write((x == y) + "<br>");  // x와 y의 타입이 서로 다르므로 타입을 서로 같게 한 후 비교를 하므로 true

document.write((x === y) + "<br>"); // x와 y의 타입이 서로 다르므로 false

document.write(x === z);            // x와 z은 값과 타입이 모두 같으므로 true

코딩연습 ▶

 

부등 연산자(!=)와 불일치 연산자(!==)는 각각 동등 연산자와 일치 연산자의 비교와 정확히 반대로 동작
<!DOCTYPE html>
<html lang="ko">

<head>
	<meta charset="UTF-8">
	<title>JavaScript Operators</title>
</head>

<body>

	<h1>동등 연산자와 일치 연산자</h1>

	<script>
		var x = 3, y = '3', z = 3;
		document.write((x != y) + "<br>");	// x와 y의 타입이 서로 다르므로 동등 연산자는 타입을 서로 같게 한 후 비교를 하게 됨. true
		document.write((x !== y) + "<br>");	// x와 y의 타입이 서로 다르므로 false
		document.write(x !== z);			// x와 z은 값과 타입이 모두 같으므로 true
	</script>
	
</body>

</html>

JavaScript Operators

동등 연산자와 일치 연산자


 

참고

http://www.tcpschool.com/javascript/js_operator_comparison

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

'Javascript > TCP school' 카테고리의 다른 글

비트 연산자  (0) 2022.12.28
논리 연산자  (0) 2022.12.28
증감 연산자  (0) 2022.12.28
대입 연산자  (0) 2022.12.28
산술 연산자  (0) 2022.12.28