* 수치 연산자
- "+", "-", "*", "/", "%" 의 덧셈, 뺄셈, 곱셈, 나눗셈 의 사칙 연산과 나머지 연산이 있다.
- 오른쪽에서 값을 계산하여 왼쪽의 변수로 그 값을 대입.
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 |