Javascript

#JavaScript Grammar_연산자

k0z 2023. 10. 16. 14:33

#1. 산술 연산자 (+, -, *, /, %)

1-1) 더하기 연산자(+)

console.log(1 + 1); // 2
console.log(1 + "1"); // "11" (문자열로 변환됨)

- 더하기 연산자는 숫자와 숫자를 더할 때 숫자를 반환하지만, 숫자와 문자열을 더할 대 문자열로 변환되며 문자열 연결이 이루어짐. 

 

1-2) 빼기 연산자(-)

console.log(1 - "2"); // -1
console.log(1 - 2); // -1

- 뺄셈 연산은 우선순위가 숫자에 있으며, 문자열로 변환되지 않음. 따라서 숫자-숫자는 숫자를 반환함.

 

1-3) 곱하기 연산자(*)

console.log(2 * 3); // 6
console.log("2" * 3); // 6

- 곱셈 연산자는 문자열과 숫자를 곱하더라도 숫자를 반환함. 

 

1-4) 나누기 연산자(/)

console.log(4 / 2); // 2
console.log("4" / 2); // 2

- 나눗셈 연산자도 마찬가지로 문자열과 숫자를 나누더라도 숫자를 반환함. 

 

1-5)나누기 연산자(/) vs 나머지 연산자(%)

console.log(5 / 2); // 2.5
console.log(5 % 2); // 1

- 나머지 연산자는 나머지 값을 반환하며, 5를 2로 나누면 2가 나오고, 나머지는 1임.

 

 


#2. 할당 연산자

2-1) 등호연산자 (=)

let x = 10; // 변수 x에 10을 할당

 

2-2) 더하기 등호 연산자 (+=)

let x = 10;
x += 5; // x = x + 5;와 같음
console.log(x); // 15

 

2-3) 빼기 등호 연산자(-=)

let x = 15;
x -= 5; // x = x - 5;와 같음
console.log(x); // 10

 

2-4) 곱하기 등호 연산자(*=)

let a = 10;
a *= 2; // a = a * 2;와 같음
console.log(a); // 20

 

2-5) 나누기 등호 연산자(/=)

let x = 10;
console.log(x); // 10
x /= 5;
console.log(x); // 2

 

2-6) 나머지 등호 연산자(%=)

let x = 10;
console.log(x); // 10
x %= 3;
console.log(x); // 1

 


 

#3. 비교 연산자

`true` 또는 `false`를 반환하는 연산자 (사용하는 비중이 높음.)

3-1) 일치 연산자(===)

console.log(2 === 2); // true
console.log("2" === 2); // false
console.log(2 === "2"); // false

- 일치 연산자는 값뿐만 아니라 데이터 타입까지 비교하며, 값과 타입이 일치하면 ture를 반환함.

 

3-2) 불일치 연산자(!==)

console.log(2 !== 2); // false
console.log("2" !== 2); // true
console.log(2 !== "2"); // true

- 불일치 연산자는 값뿐만 아니라 데이터 타입까지 비교하며, 값과 타입이 일치하지 않으면 true를 반환함. 

 

3-3) 작다 연산자(<)와 작거나 같다 연산자(<=)

console.log(2 < 3); // true
console.log(3 < 2); // false
console.log(2 <= 3); // true
console.log(3 <= 3); // true
console.log(4 <= 3); // false

 

- 작다 연산자는 왼쪽 피연산자가 오른쪽 피연산자보다 작은 경우에만 `true`를 반환하고, 그렇지 않으면 `false`를 반환.

- 작거는 같다 연산자는 왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같은 경우에 `true`를 반환하고, 그렇지 않으면 `false`를 반환함. 

 

3-4) 크다 연산자(>)와 크거나 같다 연산자(>=)

console.log(2 > 1); // true
console.log(1 > 2); // false
console.log(2 >= 2); // true
console.log(3 >= 2); // true
console.log(1 >= 2); // false

- 크다 연산자는 왼쪽 피연산자가 오른쪽 피연산자보다 큰 경우에만 `true`를 반환하고, 그렇지 않으면 `false`를 반환.

- 작거는 같다 연산자는 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같은 경우에 `true`를 반환하고, 그렇지 않으면 `false`를 반환함. 

 


#4. 논리 연산자

4-1) 논리곱(&&) 연산자

console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false

- 모두 `true`일 때  `true`를 반환함. 

 

4-2) 논리합(||) 연산자

console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false

- 두 값 중 하나라도 `true`인 경우  `true`를 반환함. 

 

4-3) 논리부정(!) 연산자 

console.log(!true); // false
let a = true;
console.log(a); // true
console.log(!a); // false

- 값을 반대로 바꿈.

 


#5. 3항 연산자 

let x = 10;
let result = (x > 5) ? "크다" : "작다";
console.log(result); // "크다"

- 3항 연산자는 조건에 따라 값을 선택하며, 위 예시에  x가 5보다 크면 "크다"를 선택하고, 그렇지 않으면 "작다"를 선택.

 

+++추가 예시) 

let y = 20;
// y가 10보다 작으면 "작다"를, 그렇지 않으면 "크다"를 선택
let answer = y < 10 ? "작다" : "크다";
console.log(answer); // "크다" (y는 20이므로 "크다"가 선택됨)

 


#6 타입 연산자(typeof)

console.log(typeof 123); // "number"
console.log(typeof "123"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object"
console.log(typeof {}); // "object"
console.log(typeof []); // "object"
console.log(typeof function(){}); // "function"

`typeof` 연산자는 특정 값의 데이터 타입을 반환함.