값을 비교할때 쓰이는 연산자이다
===
값, 타입까지 서로 같은지 비교하는 연산자이다
값과 타입까지 같아야 True를 반환한다
x = 1
y = '1'
console.log(x === y); // 결과 : False
x = 1
y = 1
console.log(x === y); // 결과 : True
==
값이 같은지 비교하는 연산자이다
===
보다는 느슨하며 값만 같으면 True 를 반환한다
x = 1
y = '1'
console.log(x == y); // 결과 : True
x = 1
y = 1
console.log(x == y); // 결과 : True
!==
은 값이 다른지 비교해 다르면 True를 반환한다
(다르면 True, 같으면 False)
x = 1
y = 1
console.log(x != y); // 결과 : False
x = 1
y = 2
console.log(x != y); // 결과 : True
>
값이 큰지 (초과)>=
값이 크거나 같은지 (이상)<
값이 작은지 (미만)<=
값이 같거나 작은지 (이하)논리 연산자를 사용하여 조건에 보다 정교한 논리를 추가 할 수 있다
여러개의 논리 연산자를 사용할 경우 원하는 결과를 도출하려면 ( )
를 지정하여 우선적으로 연산되게 해줘야 한다
컴퓨터는 왼쪽에서 부터 해석하기 때문에
주어진 조건이 모두 True이어야 True (AND 연산자)
주어진 조건중 하나만 True이면 나머지 조건이 False라도 True (OR 연산자)
만약 첫번째 조건이 Ture 이면 나머지 조건은 검사하지 않는다
논리값의 반대값을 출력한다
function rockPaperScissors(player1, player2) {
if ((player1 === "가위" && player2 === "보") || (player1 === "가위" && player2 === "가위")) {
result = "player1";
return result;
} else if ((player1 === "바위" && player2 === "가위") || (player1 === "바위" && player2 === "바위")) {
result = "player1";
return result;
} else if ((player1 === "보" && player2 === "바위") || (player1 === "보" && player2 === "보")) {
result = "player1";
return result;
} else {
result = "player2";
return result;
}
}
위의 예제는 player1가 이기거나 비기면 무조건 player1이 리턴되고
그 외의 경우에는 player2가 리턴되게하는 함수이다
논리연산자를 잘 살펴보자
player1 와 player2는
가위, 바위, 보 중 하나의 값을 가진다