컴퓨터 세상/JavaScript

연산자

Jimin Daddy 2024. 3. 29. 06:55

* 수치 연산자
  - "+", "-", "*", "/", "%" 의 덧셈, 뺄셈, 곱셈, 나눗셈 의 사칙 연산과 나머지 연산이 있다.
  - 오른쪽에서 값을 계산하여 왼쪽의 변수로 그 값을 대입.
  ex) intvar = 2 + 3
        intvar = 3 - 2
        intvar = 5 * 4
        intvar = 50 / 5
        intvar = 14 % 5      // 나머지 값이 4가 대입됨.
        str = "안녕하세요 !" + "자바스크립트";     // 안녕하세요! 자바스크립트 값이 됨.

* 증감 연산자 / 단항 연산자
  - 증감 연산자 : 변수의 값을 하나씩 증가 시키거나 감소 시키는 기능을 수행.
                         변수의 앞뒤 중 어디에 붙느냐에 따라 의미가 달라짐.
  ex) intvar = 10;     // intvar 에 10을 대입
        intvar++;         // intvar에 1이 증가되어 11이 된다. intvar = intvar + 1 과 같음.
        ++intvar;         // intvar에 1이 증가되어 12가 된다. intvar = intvar + 1 과 같음.
        num = intvar++;   // 우선 num에는 12가 대입되고, intvar는 13이 된다.
        num = ++intvar;   // num에는 14가 대입 되고, intvar도 14가 된다.
        intvar--;           // intvar에 1이 감소되어 13이 된다.
        --intvar;           // intvar에 1이 감소되어 12가 된다.
        nu = intvar--;       // 우선 nu 에는 12가 대입되고, intvar는 11이 된다.
        nu = --intvar;       // nu에도 10이 대입 되고, intvar도 10의 값을 갖는다.
  - 단항 연산자
    변수 앞에 부호를 붙이는 것을 의미.
    ex) -num    // 여기서 "-"가 단항 연산자이며, -1 * num 가 같은 의미.

* 비교 연산자
  두 개의 값을 비교하여 그 결과를 리턴하는 연산자.

비교 연산자 의미
A < B A가 B 보다 작다
A > B A가 B 보다 크다
A <= B A가 B 보다 작거나 같다
A >= B A가 B 보다 크거나 같다
A == B A와 B는 같다
A != B A는 B와 같지 않다

* 조건 연산자
  참인지 거짓인지를 판단하여 결과를 리턴하는 연산자.
  조건 연산자에는 두 가지 조건을 동시에 만족해야만 참인 AND, 두 가지 조건 중 하나만 만족해도 참인 OR,
  주어진 하나의 조건이 참인지 거짓인지에 따라 적절한 값을 취하는 ? 연산자 등 3가지가 있다.
  - AND 조건 연산자
    AND 연산자 (&&)는 주어진 두 개의 조건이 모두 참인 경우에만 참이고, 그 외는 거짓인 연산자.

A B A && B
true true true
true false false
false true false
false false false

  - OR 조건 연산자
    OR 조건 연산자 (||)는 주어진 두 개의 조건이 모두 거짓인 경우에만 거짓이고, 그 외는 모두 참인 연산자.

A B A || B
true true true
true false true
false true true
false false false

  - ? 조건 연산자
    주어진 조건의 참/거짓에 따라 선택되는 값이 달라지도록 만들 때 사용.
    ? 앞에 나와 있는 조건이 참인 경우 ":" 기호 앞에 있는 값이 선택되고, 거짓일 경우 ":" 뒤의 값이 선택됨.
    ex) intvar = 10;
          num = (intvar > 5) ? 15 : 20;     // 참이 므로 15의 값을 가진다.

* 대입 연산자
  오른쪽에 있는 값을 왼쪽에 있는 변수에 대입하는 연산자.
  복합 대입 연산자는 대입 연산자(=)에 수치 연산자를 붙인 것.
  수치 연산과 대입이 동시에 이루어지게 된다.
  ex) num = 5;
        num += 10;    // num = num + 10 과 같아서 num 값은 15가 나옴.
  +=, -=, *=, /=, %= 가 있음.

* 비트 연산자
  주어진 두 수의 비트 간에 AND, OR, XOR 연산을 수행하거나, 주어진 수의 비트 값을
  좌우측으로 수평 이동시키는 연산을 수행.
  - AND(&), OR(|), XOR(^) 비트 연산자
    아래 표에서 1은 true, 0은 false로 보면 된다. XOR 연산자 표임. (AND, OR 는 위의 표 참조)
    XOR 연산자는 두 조건이 같은 경우에는 0, 다른 경우에는 1인 연산이다.

A B A ^ B
1 1 0
1 0 1
0 1 1
0 0 0

아래는 AND, OR, XOR 비트 연산자의 표임.

AND(&) / OR(|) / XOR(^) A & B A | B A ^ B
A 1010 1010 1110 0100
B 1110

  - 시프트 비트 연산자
    비트의 배열을 좌우로 일정한 횟수만큼 평행 이동시키는 연산임.
    좌측 시프트 연산자 (<<)를 이용한 연산 "8 << 2"는 8의 비트들(1000)을 좌측으로 2칸 수평 이동 시키게 된다.
    ex) 10 << 2 의 경우
     10은 2진수로 1010 임.

1 0 1 0

10 << 2 는 왼쪽으로 2 만큼 이동하라는 것이므로

1 0 1 0 0 0

위에  처럼 101000 이 되어 이를 10 진수로 환산하면 40이 된다.
ex) 10 >> 2 의 경우

1 0 1 0

10 >> 2는 오른쪽으로 2만큼 이동하라는 뜻으로

0 0 0 0 1 0

위에 처럼 범위를 벗어나면 값이 없어지므로 10진수로 환산하면 2가 된다.

* boolean NOT 연산자
  boolean 값을 반전시켜주는 연산자로 "!" 로 표기.
  true에 "!" 연산자가 붙으면 false가 되고, false에 "!" 가 붙으면 true가 된다.
  ex) boolean bool = false;
        bool = !bool;
        bool 값이 false에서 "!"를 만나서 true 가 된다.

* 연산자의 우선 순위

우선순위 연산자
1 .  [ ]  ( )
2 ++  --  !
3 *  /  %
4 +  -
5 <<  >>
6 <  >  <=  >=
7 ==  !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?  :
14 =  +=  -=  *=  /=  %=  &=  ^=  |=  >>=  <<=

'컴퓨터 세상 > JavaScript' 카테고리의 다른 글

변수  (0) 2024.03.28
주석문, 자료형  (0) 2024.03.28
JavaScript - in 연산자, instanceof 연산자  (0) 2020.07.25
JavaScript - 문자열 비교, 문자열 연산자  (0) 2020.07.25
JavaScript - 객체  (0) 2020.07.20