[JavaScript]연산자

윤지·2024년 10월 22일

JavaScript

목록 보기
4/30
post-thumbnail

연산자

특정한 연산을 하는 자바스크립트 기호

산술 연산자

수학적인 연산을 수행하는 연산자

  • 산술 연산자의 종류:
    • 덧셈 (+)
    • 뺄셈 (-)
    • 곱셈 (*)
    • 나눗셈 (/)
    • 나머지 (%)
    • 거듭제곱(**)
  • 예시:
    • 5 + 3 = 8
    • 10 % 3 = 1

증감 연산자

숫자를 1 증가하거나 1 감소시킬 때 사용

숫자에 직접 사용 불가

  • 증가 연산자 (++)
    • 변수의 값을 1 증가
    • 예시: let x = 5; x++; // x는 6이 됨
  • 감소 연산자 (--)
    • 변수의 값을 1 감소
    • 예시: let y = 10; y--; // y는 9가 됨

증감 연산자의 두 가지 형태:

  • 전치 연산자 (++x, --x): 변수 값을 먼저 증가/감소 후 해당 줄의 코드 실행 ~하기전에
    let a = 10;
    let b = ++a;
    // a를 b에 할당하기 전에 증가
    
    console.log(a, b); // 11 11 출력됨
  • 후치 연산자 (x++, x--): 해당 줄의 코드를 먼저 실행 후 변수 값 증가/감소 ~후에
    let c = 10;
    let d = c++;
    // c를 d에 할당한 후에 증가
    
    console.log(c, d); // 11 10 출력됨

단항 부정 연산자

단항 부정 연산자(-)는 피연산자의 부호를 반대로 바꾸는 연산자임

  • 주로 숫자의 부호를 바꿀 때 사용함
  • 예시:
    let x = 5;
    let y = -x; // y는 -5가 됨
    
    console.log(-10); // -10
    console.log(-(-5)); // 5

대입 연산자

대입 연산자는 변수에 값을 할당하는 데 사용되는 연산자임

  • 기본 대입 연산자 (=): 오른쪽의 값을 왼쪽 변수에 할당함
  • 복합 대입 연산자: 연산과 할당을 동시에 수행함
    • +=: 덧셈 후 할당
    • -=: 뺄셈 후 할당
    • *=: 곱셈 후 할당
    • /=: 나눗셈 후 할당
    • %=: 나머지 연산 후 할당

예시:

let x = 5;
x += 3; // x는 8이 됨 (5 + 3)
x *= 2; // x는 16이 됨 (8 * 2)

비교 연산자

피연산자를 비교해서 논리형 값을 반환하는 연산을 수행함

  • 동등 비교 연산자 (==): 값이 같은지 비교
    • 예: 5 == '5' // true (타입 변환 후 비교)
  • 일치 비교 연산자 (===): 값과 타입이 모두 같은지 비교
    • 예: 5 === '5' // false (타입이 다름)
  • 부등 비교 연산자 (!=): 값이 다른지 비교
  • 불일치 비교 연산자 (!==): 값이나 타입이 다른지 비교
  • 대소 비교 연산자
    • 큼 (>)
    • 크거나 같음 (>=)
    • 작음 (<)
    • 작거나 같음 (<=)

주의 현업에서는 동등과 부등을 사용하지 않음. 정확한 비교가 아니기 때문

삼항 연산자

항 3개로 논리적인 비교를 하는 연산자. 간단한 조건 처리에 사용.

거짓으로 평가되는 값들:

  • NaN (Not-a-Number): 숫자가 아님을 나타내는 특수한 값
  • 빈 문자열 (""): 길이가 0인 문자열
  • null: 의도적으로 값이 없음을 나타내는 특별한 값
  • undefined: 값이 할당되지 않은 변수의 기본값
  • false: 불리언 타입의 거짓 값
  • 0: 숫자 0

이러한 값들은 조건문에서 거짓으로 평가되어, if 문이나 삼항 연산자에서 false로 취급됨

  • 삼항 연산자의 구조: 비교 ? 참 : 거짓
  • 조건(비교)이 참이면 첫 번째 표현식 실행, 거짓이면 두 번째 표현식 실행
  • 예시:
    let age = 20;
    let message = age >= 18 ? "성인" : "미성년자";
    console.log(message); // "성인" 출력됨
  • 주로 간단한 조건부 할당에 사용. 복잡한 로직에는 if-else 문 사용이 좋음
  • 중첩 사용이 가능
    • 삼항 연산자는 중첩 사용 가능하나, 코드의 가독성 문제로 한 번만 사용 권장
    • 중첩 사용 예시:
      let score = 75;
      let grade = score >= 90 ? 'A' :
                   score >= 80 ? 'B' :
                   score >= 70 ? 'C' :
                   score >= 60 ? 'D' : 'F';
      console.log(grade); // 'C' 출력됨
    • 이런 복잡한 조건은 if-else 문이나 switch 문으로 작성하는 것이 더 명확하고 유지보수하기 쉬움

논리 연산자

논리 연산자는 불리언(Boolean) 값을 조작하거나 비교하는 데 사용되는 연산자. 주요 논리 연산자는 다음과 같음:

  • AND 연산자 (&&): 두 피연산자가 모두 참일 때만 참을 반환
    • 예: true && true // true
    • 예: true && false // false
    • AND 조건 처리에 사용 가능
      const timer = 10;
      const res2 = timer <= 10 && "10초 남았습니다! 서두르세요";
      console.log(res2);
      • 이 코드는 AND 연산자의 단축 평가(short-circuit evaluation) 특성을 보여줌:
      • timer <= 10이 true면, && 연후의 문자열이 반환됨
      • timer <= 10이 false면, false가 반환됨
      • 이 특성을 이용해 조건부로 문자열 할당 가능
  • OR 연산자 (||): 두 피연산자 중 하나라도 참이면 참을 반환
    • 예: true || false // true
    • 예: false || false // false
    • 초기값 설정에 사용
      const userName = "";
      const res = userName || "생각하는범고래";
      console.log(res);
  • NOT 연산자 (!): 피연산자의 불리언 값을 반전
    • 예: !true // false
    • 예: !false // true

이러한 논리 연산자들은 조건문이나 복잡한 논리 구조를 만들 때 자주 사용됨

profile
프론트엔드 공부 기록 아카이빙🍁

0개의 댓글