웹/JavaScript

[JS] 5. 기초 문법: 연산자

nyJae 2022. 7. 15. 03:12

1) 대입 연산자

= : 변수에 값을 넣는 연산자

 


2) 산술 연산자

+  -  *  /  % : 사칙 연산, 나머지 계산을 하는 연산자

3) 연결 연산자

+ : 두 개 이상의 문자열을 이어 붙이는 연산자
let a = "1";
let b = "2";

console.log(a+b);  //12 출력

 

 

* 문자열과 숫자형 값을 '+' 연산자를 이용하여 연산하는 경우, 산술 연산인 더하기 연산이 되는 것이 아니라 숫자형 값을 문자열로 묵시적 형 변환하여 연결 연산이 일어납니다. 즉, '+' 연산자를 이용하여 연산할 때 피연산자 중 문자열이 하나라도 포함되어 있다면 문자열로 자동 형 변환이 일어납니다.

let a = 1;
let b = "2";
let c = true;
let d = null;
let e;

console.log(a + b);   //문자열 '12' 출력 
console.log(a + b + c + d + e);   //문자열 '12truenullundefined' 출력

4) 복합 연산자

'a = a+b' 꼴의 연산을 'a += b' 꼴로 축약.
let a = 1;
let b = 5;

// a = a + b;
a += b;

console.log(a);   //6 출력

 

덧셈뿐만 아니라 나머지 다른 산술 연산자와 비트 연산자에 동일하게 적용할 수 있습니다. 

 


5) 증감 연산자

++  -- : 숫자형 값을 1만큼 증가/감소시키는 연산자. 

 

증감 연산자는 값의 앞에 붙을 수도 있고 뒤에 붙을 수도 있는데 연산자가 붙은 위치에 따라 다르게 동작합니다.

증감 연산자가 값의 뒤에 붙는 경우(후위 연산)에는 다른 명령이 실행되고 난 이후에 증감 연산이 진행되고, 반대로 값의 앞에 붙는 경우(전위 연산)에는 값과 증감 연산자가 만난 시점부터 바로 증감 연산이 일어납니다.

let a = 10;
let b = 10;

console.log(a++);  //후위 연산 -> 10 출력
console.log(a);    //11 출력

console.log(++b);  //전위 연산 -> 11 출력

6) 논리 연산자

논리식을 판단하여 참과 거짓을 반환하는 연산자

 

 

[종류]

! : NOT 연산
&& : AND 연산
|| : OR 연산
console.log(!true); //false
console.log(!false); //true

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

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

7) 비교 연산자

두 값의 크기를 비교하여 참과 거짓을 반환하는 연산자

 

 

[종류]

== : 두 값이 같은지를 판단
!= : 두 값이 같지 않은지를 판단
let a = 1 == 2;
console.log(a); //false 출력

let b = 1 != 2;
console.log(b); //true 출력
 
==, != 연산자는 타입과 상관없이 값만 비교합니다.
값뿐만 아니라 자료형까지 비교하고 싶다면 ===, !== 연산자를 사용합니다.
let c = 1 == "1";
console.log(c); //true

let d = 1 === "1";
console.log(d); //false
 

 

>   <   >=   <== : 두 값의 대소를 비교
let a = 1 < 2;
console.log(a); //true

let b = 1 > 2;
console.log(b); //false

let c = 1 >= 1;
console.log(c); //true

let d = 1 <= 1;
console.log(d); //true

 

8) typeof 연산자

typeof: 변수나 상수에 들어있는 값이 어떤 자료형인지를 반환하는 연산자. 

 

let a = "10";

console.log(typeof a);   //string 출력

 

9) null 변환 연산자

?? : 피연산자 중 null이나 undefined가 아닌 값을 선택하여 반환하는 연산자

 

let a;
a = a ?? 10;

console.log(a);  //10 출력