산술 연산자, 논리 연산자

이다은·2023년 3월 15일
0
post-thumbnail

산술 연산자

🥸 산술 연산자는 피연산자를 대상으로 수학적 계산을 수해해 새로운 숫자 값을 만들며, 연산이 불가능한 경우 NaN을 반환합니다. 피연산자의 개수에 따라 이항 산술 연산자와 단항 산술 연산자로 구분할 수 있습니다.

이항 산술 연산자

2개의 피연산자를 산술 연산하여 숫자 값을 만들며, 피연산자의 값을 변경하는 부수 효과가 없습니다. 그렇기 때문에 언제나 새로운 값을 만듭니다.

종류

  • + : 덧셈
  • - : 뺄셈
  • * : 곱셈
  • / : 나눗셈
  • % : 나머지

단항 산술 연산자

1개의 피연산자를 산술 연산하여 숫자 값을 만들며, ++ , -- 연산자는 피연산자의 값을 변경하는 부수 효과가 있습니다. 즉, 암묵적 할당이 이루어집니다.

종류

  • ++ : 증가
  • -- : 감소
  • + : 효과 없음(음수를 양수로 반전시키는 효과도 없음)
  • - : 양수를 음수로, 음수를 양수로 반전한 값을 반환

🔥 ++ , -- 연산자는 위치에 따라 의미가 달라집니다.
1. 피연산자 앞에 위치할 경우: 먼저 피연산자의 값을 증가/감소시킨 후, 다른 연산을 수행한다.
2. 피연산자 뒤에 위치할 경우: 먼저 다른 연산을 수행한 후, 피연산자의 값을 증가/감소시킨다.

let x = 5, result;
// 선할당 후증가
result = x++;
console.log(result, x); // 5 6
// 선증가 후할당
result = ++x;
console.log(result, x); // 7 7
// 선할당 후증가
result = x--;
console.log(result, x); // 7 6
// 선증가 후할당
result = --x;
console.log(result, x); // 5 5

논리 연산자

🥸 논리 연산자는 우항과 좌항의 피연산자(부정 논리 연산자의 경우 우항의 피연산자)를 논리 연산하는 것으로 부수 효과는 없습니다.

  • ||: 논리합(OR)
    둘 중 하나라도 true일 경우 true 반환
true || true; // true
true || false; //true
false || true; // true
false || false; // false
  • &&: 논리곱(AND)
    둘 중 하나라도 false일 경우 false 반환
true && true; // true
true && false; // false
false && true; // false
false && false; // false
  • !: 부정(NOT)
    언제나 boolean 값을 반환한다. 피연산자가 boolean 값이 아닐 경우 암묵적으로 boolean 타입으로 변환되므로 피연산자가 반드시 boolean 값일 필요는 없다.
!true; // false
!false; // true
  • 드 모르간의 법칙
!(x || y) === (!x && !y)
!(x && y) === (!x || !y)

🧐 해당 글은 책 모던 자바스크립트 deep dive를 참고하여 작성하였습니다.
🧐 할당 연산자, 비교 연산자가 궁금하다면 이곳을 클릭하세요.

profile
안녕하세요

0개의 댓글