1. 산술 연산자
산술 연산자는 사칙연산을 다루는 가장 기본적인 연산자입니다.
+ | 덧셈 |
- | 뺄셈 |
* | 곱셈 |
/ | 나눗셈 |
% | 나눈 나머지 값 (예 : 10 % 3 = 1) |
** | 거듭제곱 |
예시)
<script>
"use strict"
const num1 = Number(prompt('첫번째 숫자를 입력하세요.'));
const num2 = Number(prompt('두번째 숫자를 입력하세요.'));
let result = num1 + num2;
console.log(`num1 + num2 = ${result}`);
result = num1 - num2;
console.log(`num1 - num2 = ${result}`);
result = num1 * num2;
console.log(`num1 * num2 = ${result}`);
result = num1 / num2;
console.log(`num1 / num2 = ${result}`);
result = num1 % num2;
console.log(`num1 % num2 = ${result}`);
result = num1 ** num2;
console.log(`num1 ** num2 = ${result}`);
</script>
2. 비교 연산자
비교 연산자는 피 연산자 사이의 상대적인 크기를 판단하여 참 또는 거짓을 반환합니다.
> | 왼쪽의 값이 오른쪽의 값보다 크면 참을 반환합니다. |
< | 오른쪽의 값이 왼쪽의 값보다 크면 참을 반환합니다. |
>= | 왼쪽의 값이 오른쪽의 값보다 크거나 같으면 참을 반환합니다. |
<= | 오른쪽의 값이 왼쪽의 값보다 크거나 같으면 참을 반환합니다. |
== | 두 식의 값이 같으면 참을 반환합니다. (타입의 관계가 없음) ex) "10" == 10 -> true |
=== | 두 식의 값이 같고, 타입까지 같으면 참을 반환합니다. ex ) "10" == 10 -> false |
!= | 두 식의 값이 다르면 참을 반환합니다. (타입의 관계가 없음) ex ) 10 != "5" -> true // 10 != 5 -> true |
!== | 두 식의 값이 같지 않고, 타입까지 같지 않으면 참을 반환합니다. ex) 10 !== "1" -> true |
예시 )
<script>
"use strict"
let num1 = 3, num2 = 5;
let str1 = "3", str2 ="abcde", str3="bcd";
let result = (num1 > num2);
console.log(`num1 > num2 : ${result}`);
result = (str2 <= str3);
console.log(`str2 <= str3 : ${result}`);
// 아스키 코드 값 비교이며 첫글자 부터 한글자씩 비교를 하게된다. 길이하고는 상관없다.
result = (num1 == str1);
console.log(`num1 == str1 : ${result}`);
result = (num1 === str1);
console.log(`num1 === str1 : ${result}`);
</script>
3. 대입 연산자
대입 연산자는 변수에 값을 대입할 때 사용하는 연산자입니다.
= | 왼쪽 변수에 오른쪽 값을 대입합니다. |
+= | 왼쪽 변수에 오른쪽 값을 더한 후, 그 결과를 다시 왼쪽 변수에 대입합니다. |
ex ) let a = 10; a += 1; // a = a + 1; 같은 의미 |
|
-= | 왼쪽 변수에 오른쪽 값을 뺀 후, 그 결과를 다시 왼쪽 변수에 대입합니다. |
*= | 왼쪽 변수에 오른쪽 값을 곱한 후, 그 결과를 다시 왼쪽 변수에 대입합니다. |
/= | 왼쪽 변수에 오른쪽 값을 나눈 후, 그 결과를 다시 왼쪽 변수에 대입합니다. |
%= | 왼쪽 변수에 오른쪽 값을 나눈 나머지 값을 구한 후, 그 결과를 다시 왼쪽 변수에 대입합니다. |
**= | 왼쪽 변수에 오른쪽 값을 거듭제곱 후, 그 결과를 다시 왼쪽 변수에 대입합니다. |
예시)
<script>
"use strict"
let num1=10, num2=10, num3=10;
num1 += 5;
console.log(`num1 += 5 : ${num1}`);
num2 -= 5;
console.log(`num2 -= 5 : ${num2}`);
num3 =- 5;
console.log(`num1 =- 5 : ${num3}`);
</script>
4. 증감 연산자
증감 연산자는 값을 1씩 증가하거나 혹은 감소시킬 때 사용하는 연산자입니다. 연산자가 어느 쪽에 위치하는가에 따라 연산자의 순서 및 결과가 달라집니다.
++변수 | 변수의 값을 1증가시킨 후, 다음 연산을 진행합니다. |
변수++ | 먼저 다른 연산을 수행한 후, 변수의 값을 1증가시킵니다. |
--변수 | 변수의 값을 1감소시킨 후, 다음 연산을 진행합니다. |
변수-- | 먼저 다른 연산을 수행한 후, 변수의 값을 1감소시킵니다. |
ex)
let a = 5;
++a; // a = a + 1;
let a = 5;
let b = ++a;
console.log(b); // 6
let a = 5;
let b = a++;
console.log(a); // 6
console.log(b); // 5
예시)
<script>
"use strict"
let num1 = 10;
console.log(`num1의 값 : ${num1}`);
console.log(`++num1의 값 : ${++num1}`);
console.log(`num1의 값 : ${num1}`);
console.log(`num1++의 값 : ${num1++}`);
console.log(`num1의 값 : ${num1}`);
</script>
5. 논리 연산자
논리 연산자는 주어진 논리식을 판단하여 참과 거짓을 반환합니다.
● AND 연산( && ) : 두 논리식이 모두 참이면 반환하는 연산자입니다.
A && B 결과
true true true
true false false
false true false
false false false
● OR 연산( || ) : 두 논리식 중 하나라도 참이면 참을 반환하는 연산자입니다.
A || B 결과
true true true
true false true
false true true
false false false
● NOT 연산( ! ) : 논리식의 결과가 참이면 거짓으로, 거짓이면 참으로 반환하는 연산자입니다.
A !결과
true false
false true
예시)
<script>
"use strict"
let num1 = 10, num2 = 5;
let result1 = (num1 == num2); // false
let result2 = (num1 >= num2); // true
console.log(`result1 && result2 : ${result1 && result2}`);
console.log(`result1 || result2 : ${result1 || result2}`);
console.log(`!result1 : ${!result1}`);
</script>
6. 비트 연산자
비트 연산자는 논리 연산자와 비슷하지만 비트 단위로 논리 연산을 수행합니다.
& | 대응되는 비트가 모두 참이면 참을 반환하는 연산자입니다. |
| | 대응되는 비트 중에서 하나라도 참이면 참을 반환하는 연산자입니다. |
^ | 대응되는 비트가 서로 다르면 참을 반환하는 연산자입니다. |
<< | 지정한 수만큼 비트를 왼쪽으로 이동시킵니다. |
>> | 지정한 수만큼 비트를 오른쪽으로 이동시킵니다. |
예시 )
<script>
"use strict"
let num1 = 25, num2 = 18;
console.log(`num1 & num2 : ${num1 & num2}`);
/*
32 16 8 4 2 1
1 1 0 0 1 (25)
& 1 0 0 1 0 (18)
--------------------------------------------------
1 0 0 0 0 (16)
*/
console.log(`num1 | num2 : ${num1 | num2}`);
/*
32 16 8 4 2 1
1 1 0 0 1 (25)
| 1 0 0 1 0 (18)
--------------------------------------------------
1 1 0 1 1 (27)
*/
console.log(`num1 ^ num2 : ${num1 ^ num2}`);
/*
32 16 8 4 2 1
1 1 0 0 1 (25)
^ 1 0 0 1 0 (18)
--------------------------------------------------
0 1 0 1 1 (11)
*/
console.log(`num1 << num2 : ${num1 << 2}`);
/*
64 32 16 8 4 2 1
--------------------------------------------------
1 1 0 0 1 0 0 (100)
*/
console.log(`num1 >> num2 : ${num1 >> 2}`);
/*
32 16 8 4 2 1
------------------------------------------------
0 0 0 1 1 0 (6)
*/
</script>
7. 삼항 연산자
조건식에 따른 참, 거짓에 따라 반환 값이 달라지는 연산자입니다.
● 변수 = 조건식 ? 반환값1(조건식이 참) : 반환값2(조건식이 거짓);
예시)
<script>
"use strict"
let num1 = Number(prompt("첫번째 숫자를 입력하세요."))
let num2 = Number(prompt("두번째 숫자를 입력하세요."))
let result = (num1 > num2) ? num1 : num2;
console.log(`두 수중 큰 수는 : ${result}`);
</script>
'🎨 Programming > JavaScript' 카테고리의 다른 글
[JavaScript] 6. 반복문( while/for ) (0) | 2020.09.09 |
---|---|
[JavaScript] 5. 조건문( if/switch ) (0) | 2020.09.08 |
[JavaScript] 3. 자바스크립트의 타입 변환 & 대화 상자 (2) | 2020.09.07 |
[JavaScript] 2. 변수/상수 & 데이터 타입 (0) | 2020.08.28 |
[JavaScript] 1. 자바스크립트 기초 (ECMA6기준) (0) | 2020.08.28 |