위코드-TIL-2 (JS-비교, 논리 연산자)

jin_sk·2020년 5월 26일
1

위코드

목록 보기
8/49

비교 연산자

값을 비교할때 쓰이는 연산자이다

===

=== 값, 타입까지 서로 같은지 비교하는 연산자이다
값과 타입까지 같아야 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

나머지 비교 연산자

  1. > 값이 큰지 (초과)
  2. >= 값이 크거나 같은지 (이상)
  3. < 값이 작은지 (미만)
  4. <= 값이 같거나 작은지 (이하)

논리 연산자

논리 연산자를 사용하여 조건에 보다 정교한 논리를 추가 할 수 있다
여러개의 논리 연산자를 사용할 경우 원하는 결과를 도출하려면 ( )를 지정하여 우선적으로 연산되게 해줘야 한다
컴퓨터는 왼쪽에서 부터 해석하기 때문에

&&

주어진 조건이 모두 True이어야 True (AND 연산자)

  1. true && true = true
  2. true && fasle = fasle
  3. fasle && True = fasle
  4. fasle && fasle = fasle

||

주어진 조건중 하나만 True이면 나머지 조건이 False라도 True (OR 연산자)
만약 첫번째 조건이 Ture 이면 나머지 조건은 검사하지 않는다

  1. true || true = true
  2. true || false = true
  3. false || true = true
  4. fasle || fasle = false

!

논리값의 반대값을 출력한다

  1. !(true) = false
  2. !(false) = true

예제

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는
가위, 바위, 보 중 하나의 값을 가진다

0개의 댓글