JavaScript์์ ์ฐ์ฐ์(Operators)๋ ๋ณ์๋ ๊ฐ์ ๋ํด ์ฐ์ฐ์ ์ํํ๋ ๊ธฐํธ์ ๋๋ค. ๋ค์ํ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ๊ณ์ฐํ๊ฑฐ๋, ๋น๊ตํ๊ณ , ๋ ผ๋ฆฌ์ ์ธ ํ๋จ์ ๋ด๋ฆด ์ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํธ์์๋ JavaScript์์ ์์ฃผ ์ฌ์ฉํ๋ ์ฐ์ฐ์๋ค์ ์ข ๋ฅ๋ณ๋ก ์ดํด๋ณด๊ฒ ์ต๋๋ค.
1. ์ฐ์ ์ฐ์ฐ์ (Arithmetic Operators)
์ฐ์ ์ฐ์ฐ์๋ ์ซ์ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ฐ์ฐ์ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ค์์ ์ฃผ์ ์ฐ์ ์ฐ์ฐ์์ ๋๋ค:
+
(๋ํ๊ธฐ): ๋ ๊ฐ์ ๋ํฉ๋๋ค.let sum = 10 + 5; // 15
-
(๋นผ๊ธฐ): ์ฒซ ๋ฒ์งธ ๊ฐ์์ ๋ ๋ฒ์งธ ๊ฐ์ ๋บ๋๋ค.let difference = 10 - 5; // 5
*
(๊ณฑํ๊ธฐ): ๋ ๊ฐ์ ๊ณฑํฉ๋๋ค.let product = 10 * 5; // 50
/
(๋๋๊ธฐ): ์ฒซ ๋ฒ์งธ ๊ฐ์ ๋ ๋ฒ์งธ ๊ฐ์ผ๋ก ๋๋๋๋ค.let quotient = 10 / 5; // 2
%
(๋๋จธ์ง): ์ฒซ ๋ฒ์งธ ๊ฐ์ ๋ ๋ฒ์งธ ๊ฐ์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๋ฐํํฉ๋๋ค.let remainder = 10 % 3; // 1
2. ํ ๋น ์ฐ์ฐ์ (Assignment Operators)
ํ ๋น ์ฐ์ฐ์๋ ๋ณ์์ ๊ฐ์ ํ ๋นํ๊ฑฐ๋, ์ฐ์ฐ์ ํตํด ๊ฐ์ ํ ๋นํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ํ ๋น ์ฐ์ฐ์๋ =
์ด๋ฉฐ, ๋ค๋ฅธ ์ฐ์ฐ๊ณผ ๊ฒฐํฉํ์ฌ ์ฌ์ฉํ ์๋ ์์ต๋๋ค:
=
(ํ ๋น): ๋ณ์์ ๊ฐ์ ํ ๋นํฉ๋๋ค.let x = 10;
+=
(๋ํ ํ ํ ๋น): ๊ธฐ์กด ๋ณ์ ๊ฐ์ ๋ํ ๊ฐ์ ํ ๋นํฉ๋๋ค.x += 5; // x = x + 5
-=
(๋บ ํ ํ ๋น): ๊ธฐ์กด ๋ณ์ ๊ฐ์์ ๋บ ๊ฐ์ ํ ๋นํฉ๋๋ค.x -= 5; // x = x - 5
*=
(๊ณฑํ ํ ํ ๋น): ๊ธฐ์กด ๋ณ์ ๊ฐ์ ๊ณฑํ ๊ฐ์ ํ ๋นํฉ๋๋ค.x *= 5; // x = x * 5
/=
(๋๋ ํ ํ ๋น): ๊ธฐ์กด ๋ณ์ ๊ฐ์ ๋๋ ๊ฐ์ ํ ๋นํฉ๋๋ค.x /= 5; // x = x / 5
%=
(๋๋จธ์ง๋ฅผ ๊ตฌํ ํ ํ ๋น): ๊ธฐ์กด ๋ณ์ ๊ฐ์ ๋๋จธ์ง๋ฅผ ๊ตฌํ ๊ฐ์ ํ ๋นํฉ๋๋ค.x %= 5; // x = x % 5
3. ๋น๊ต ์ฐ์ฐ์ (Comparison Operators)
๋น๊ต ์ฐ์ฐ์๋ ๋ ๊ฐ์ ๋น๊ตํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ก true
๋๋ false
๋ฅผ ๋ฐํํฉ๋๋ค. ์ฃผ๋ก ์กฐ๊ฑด๋ฌธ์์ ์ฌ์ฉ๋ฉ๋๋ค:
==
(๋๋ฑ): ๋ ๊ฐ์ด ๋๋ฑํ์ง๋ฅผ ๋น๊ตํฉ๋๋ค.5 == '5'; // true
===
(์ผ์น): ๋ ๊ฐ์ด ๋์ผํ ํ์ ์ด๊ณ , ๊ฐ๋ ์ผ์นํ๋์ง๋ฅผ ๋น๊ตํฉ๋๋ค.5 === '5'; // false
!=
(๋ถ๋ฑ): ๋ ๊ฐ์ด ๋๋ฑํ์ง ์์์ง๋ฅผ ๋น๊ตํฉ๋๋ค.5 != '5'; // false
!==
(๋ถ์ผ์น): ๋ ๊ฐ์ด ์ผ์นํ์ง ์๋์ง๋ฅผ ๋น๊ตํฉ๋๋ค.5 !== '5'; // true
>
(ํฌ๋ค): ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๋ ๋ฒ์งธ ๊ฐ๋ณด๋ค ํฐ์ง๋ฅผ ๋น๊ตํฉ๋๋ค.10 > 5; // true
<
(์๋ค): ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๋ ๋ฒ์งธ ๊ฐ๋ณด๋ค ์์์ง๋ฅผ ๋น๊ตํฉ๋๋ค.10 < 5; // false
>=
(ํฌ๊ฑฐ๋ ๊ฐ๋ค): ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๋ ๋ฒ์งธ ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ง๋ฅผ ๋น๊ตํฉ๋๋ค.10 >= 5; // true
<=
(์๊ฑฐ๋ ๊ฐ๋ค): ์ฒซ ๋ฒ์งธ ๊ฐ์ด ๋ ๋ฒ์งธ ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์์ง๋ฅผ ๋น๊ตํฉ๋๋ค.10 <= 5; // false
4. ๋ ผ๋ฆฌ ์ฐ์ฐ์ (Logical Operators)
๋ ผ๋ฆฌ ์ฐ์ฐ์๋ ๋ ผ๋ฆฌ์ ํ๋จ์ ๋ด๋ฆฌ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ์กฐ๊ฑด๋ฌธ๊ณผ ํจ๊ป ์์ฃผ ์ฌ์ฉ๋๋ฉฐ, ์ฌ๋ฌ ์กฐ๊ฑด์ ๊ฒฐํฉํ ๋ ์ ์ฉํฉ๋๋ค:
&&
(AND): ๋ ์กฐ๊ฑด์ด ๋ชจ๋ ์ฐธ์ธ ๊ฒฝ์ฐ์๋งtrue
๋ฅผ ๋ฐํํฉ๋๋ค.true && false; // false
||
(OR): ๋ ์กฐ๊ฑด ์ค ํ๋๋ผ๋ ์ฐธ์ด๋ฉดtrue
๋ฅผ ๋ฐํํฉ๋๋ค.true || false; // true
!
(NOT): ์กฐ๊ฑด์ ์ฐธ/๊ฑฐ์ง์ ๋ฐ์ ์ํต๋๋ค.!true; // false
5. ๊ธฐํ ์ฐ์ฐ์ (Other Operators)
์์์ ์ค๋ช ํ ์ฃผ์ ์ฐ์ฐ์ ์ธ์๋ JavaScript์๋ ๋ค์ํ ์ฐ์ฐ์๊ฐ ์กด์ฌํฉ๋๋ค. ๋ช ๊ฐ์ง ์ค์ํ ์ฐ์ฐ์๋ฅผ ์ถ๊ฐ๋ก ์๊ฐํฉ๋๋ค:
?
(์ผํญ ์ฐ์ฐ์): ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฐ์ ๋ฐํํฉ๋๋ค.let result = (x > 10) ? 'ํฌ๋ค' : '์๋ค';
typeof
: ๋ณ์๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ๋ฐํํฉ๋๋ค.typeof 10; // "number"
instanceof
: ๊ฐ์ฒด๊ฐ ํน์ ํด๋์ค์ ์ธ์คํด์ค์ธ์ง ํ์ธํฉ๋๋ค.object instanceof Array; // true
๊ฒฐ๋ก
JavaScript ์ฐ์ฐ์๋ ์ฝ๋๋ฅผ ์์ฑํ ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๊ณ ์ค์ํ ๋๊ตฌ์ ๋๋ค. ์ฐ์ ์ฐ์ฐ์๋ถํฐ ๋น๊ต, ๋ ผ๋ฆฌ, ๊ธฐํ ์ฐ์ฐ์๊น์ง ๋ค์ํ ์ข ๋ฅ์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ก์ง์ ๊ตฌํํ ์ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํธ์์ ์ค๋ช ํ ์ฐ์ฐ์๋ค์ ์ ์ดํดํ๊ณ ํ์ฉํ๋ฉด, JavaScript ์ฝ๋๋ฅผ ๋์ฑ ํจ์จ์ ์ด๊ณ ๋ช ํํ๊ฒ ์์ฑํ ์ ์์ ๊ฒ์ ๋๋ค.
๋๊ธ ์ฐ๊ธฐ