자바스크립트 연산자(JavaScript Operators)는 변수와 값을 조작하는 데 사용됩니다. 연산자는 산술 연산, 할당, 비교, 논리, 비트, 문자열, 조건, 콤마, 및 typeof 연산자를 포함합니다. 각 연산자는 고유한 기능을 제공하며, 다양한 프로그래밍 상황에서 유용하게 사용할 수 있습니다.
연산자: 산술 연산자, 할당 연산자, 비교 연산자, 논리 연산자, 비트 연산자, 문자열 연산자, 조건 연산자, 콤마 연산자, typeof 연산자, 삭제 연산자, in 연산자, instanceof 연산자 등이 있다.
1. 산술 연산자 (Arithmetic Operators)
산술 연산자는 수학적 계산을 수행합니다.
- 덧셈 ('+'): 두 피연산자를 더합니다.
let sum = 5 + 3; // 8
- 뺄셈 ('-'): 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다.
let difference = 5 - 3; // 2
- 곱셈 ('*'): 두 피연산자를 곱합니다.
let product = 5 * 3; // 15
- 나눗셈 ('/'): 첫 번째 피연산자를 두 번째 피연산자로 나눕니다.
let quotient = 5 / 3; // 1.6666...
- 나머지 ('%'): 첫 번째 피연산자를 두 번째 피연산자로 나눈 후 나머지를 반환합니다.
let remainder = 5 % 3; // 2
- 거듭제곱 ('**'): 첫 번째 피연산자를 두 번째 피연산자만큼 거듭제곱합니다.
let power = 5 ** 3; // 125
2. 할당 연산자 (Assignment Operators)
할당 연산자는 값을 변수에 할당합니다.
- 기본 할당 ('='): 오른쪽 피연산자를 왼쪽 피연산자에 할당합니다.
let x = 5;
- 덧셈 할당 ('+='): 오른쪽 피연산자를 왼쪽 피연산자에 더하고, 결과를 왼쪽 피연산자에 할당합니다.
let x = 5;
x += 3; // x = 8
- 뺄셈 할당 ('-='): 오른쪽 피연산자를 왼쪽 피연산자에서 빼고, 결과를 왼쪽 피연산자에 할당합니다.
let x = 5;
x -= 3; // x = 2
- 곱셈 할당 ('*='): 오른쪽 피연산자를 왼쪽 피연산자에 곱하고, 결과를 왼쪽 피연산자에 할당합니다.
let x = 5;
x *= 3; // x = 15
- 나눗셈 할당 ('/='): 왼쪽 피연산자를 오른쪽 피연산자로 나누고, 결과를 왼쪽 피연산자에 할당합니다.
let x = 5;
x /= 3; // x = 1.6666...
- 나머지 할당 ('%='): 왼쪽 피연산자를 오른쪽 피연산자로 나눈 나머지를 왼쪽 피연산자에 할당합니다.
let x = 5;
x %= 3; // x = 2
- 거듭제곱 할당 ('**='): 왼쪽 피연산자를 오른쪽 피연산자만큼 거듭제곱하고, 결과를 왼쪽 피연산자에 할당합니다.
let x = 5;
x **= 3; // x = 125
3. 비교 연산자 (Comparison Operators)
비교 연산자는 두 값을 비교하고, 결과를 불리언 값(true 또는 false)으로 반환합니다.
- 동등 ('=='): 두 값이 같으면 true를 반환합니다. (타입 변환이 일어남)
let isEqual = (5 == "5"); // true
- 일치 ('==='): 두 값이 같고, 같은 타입이면 true를 반환합니다.
let isStrictEqual = (5 === "5"); // false
- 부등 ('!='): 두 값이 다르면 true를 반환합니다. (타입 변환이 일어남)
let isNotEqual = (5 != "5"); // false
- 불일치 ('!=='): 두 값이 다르거나, 타입이 다르면 true를 반환합니다.
let isStrictNotEqual = (5 !== "5"); // true
- 크다 ('>'): 첫 번째 피연산자가 두 번째 피연산자보다 크면 true를 반환합니다.
let isGreater = (5 > 3); // true
- 크거나 같다 ('>='): 첫 번째 피연산자가 두 번째 피연산자보다 크거나 같으면 true를 반환합니다.
let isGreaterOrEqual = (5 >= 3); // true
- 작다 ('<'): 첫 번째 피연산자가 두 번째 피연산자보다 작으면 true를 반환합니다.
let isLess = (5 < 3); // false
- 작거나 같다 ('<='): 첫 번째 피연산자가 두 번째 피연산자보다 작거나 같으면 true를 반환합니다.
let isLessOrEqual = (5 <= 3); // false
4. 논리 연산자 (Logical Operators)
논리 연산자는 불리언 값을 조합하거나 반전시킵니다.
- 논리 AND (&&): 두 피연산자가 모두 true이면 true를 반환합니다.
let andResult = (true && false); // false
- 논리 OR (||): 두 피연산자 중 하나라도 true이면 true를 반환합니다.
let orResult = (true || false); // true
- 논리 NOT (!): 피연산자의 불리언 값을 반전시킵니다.
let notResult = !true; // false
5. 비트 연산자 (Bitwise Operators)
비트 연산자는 피연산자를 32비트 정수로 변환하고, 비트 단위로 연산합니다.
- 비트 AND (&): 두 피연산자의 비트가 모두 1이면 1을 반환합니다.
let andBitwise = (5 & 3); // 1 (0101 & 0011 = 0001)
- 비트 OR (|): 두 피연산자의 비트 중 하나라도 1이면 1을 반환합니다.
let orBitwise = (5 | 3); // 7 (0101 | 0011 = 0111)
- 비트 XOR (^): 두 피연산자의 비트가 다르면 1을 반환합니다.
let xorBitwise = (5 ^ 3); // 6 (0101 ^ 0011 = 0110)
- 비트 NOT (~): 피연산자의 비트를 반전시킵니다.
let notBitwise = ~5; // -6 (~0101 = 1010)
- 왼쪽 시프트 (<<): 피연산자의 비트를 왼쪽으로 시프트하고, 오른쪽에 0을 채웁니다.
let leftShift = (5 << 1); // 10 (0101 << 1 = 1010)
- 오른쪽 시프트 (>>): 피연산자의 비트를 오른쪽으로 시프트하고, 왼쪽에 부호 비트를 채웁니다.
let rightShift = (5 >> 1); // 2 (0101 >> 1 = 0010)
- 부호 없는 오른쪽 시프트 (>>>): 피연산자의 비트를 오른쪽으로 시프트하고, 왼쪽에 0을 채웁니다.
let unsignedRightShift = (5 >>> 1); // 2 (0101 >>> 1 = 0010)
6. 문자열 연산자 (String Operator)
문자열 연산자는 주로 문자열 결합에 사용됩니다.
- 문자열 결합 (+): 두 문자열을 결합합니다.
let greeting = "Hello, " + "World!"; // "Hello, World!"
7. 조건 연산자 (Conditional Operator)
조건 연산자는 삼항 연산자라고도 불리며, 조건에 따라 값을 반환합니다.
- 삼항 연산자 (condition ? expr1 : expr2): 조건이 true이면 expr1을 반환하고, false이면 expr2를 반환합니다.
let age = 18;
let isAdult = (age >= 18) ? "Yes" : "No"; // "Yes"
8. 콤마 연산자 (Comma Operator)
콤마 연산자는 여러 표현식을 하나의 표현식으로 결합하고, 마지막 표현식의 값을 반환합니다.
let value = (1, 2, 3); // 3
9. typeof 연산자 (typeof Operator)
typeof 연산자는 피연산자의 자료형을 문자열로 반환합니다.
let type = typeof 42; // "number"
let typeString = typeof "Hello"; // "string"
10. 삭제 연산자 (delete Operator)
delete 연산자는 객체의 속성을 삭제합니다.
let person = { name: "John", age: 30 };
delete person.age;
console.log(person); // { name: "John" }
11. in 연산자 (in Operator)
in 연산자는 객체에 특정 속성이 있는지 확인합니다.
let person = { name: "John", age: 30 };
let hasAge = "age" in person; // true
12. instanceof 연산자 (instanceof Operator)
instanceof 연산자는 객체가 특정 클래스의 인스턴스인지 확인합니다.
let date = new Date();
let isDate = date instanceof Date; // true
이러한 연산자들을 이해하고 활용하면 자바스크립트에서 다양한 논리와 기능을 구현할 수 있습니다. 각 연산자의 용도를 잘 파악하여 적절히 사용하는 것이 중요합니다.
'WebDev > JavaScript' 카테고리의 다른 글
[기초]JavaScript Object, Class(객체와 클래스) (0) | 2024.08.27 |
---|---|
[기초]Javascript export, import 모듈 (0) | 2024.08.26 |
[기초]JavaScript 함수(Function) (0) | 2024.08.24 |
[기초]JavaScript 자료형(Data Type) (0) | 2024.08.22 |
[기초]JavaScript란? (0) | 2024.08.21 |