Algorithm/Baekjoon(Node.js)

[JavaSrcipt] 연산자

비망노트 2021. 8. 19. 23:14

정보처리기사 취득할 때 많이 봤는데 기본적인것들빼고 기억이 많이 흐려진것같아 다시 정리.

 

산술 연산자

 

더하기( + ) 빼기( - ) 곱하기 ( * ) 나누기( / )

연산자 예제
나머지 ( % ) 12 % 5 일경우 2를 반환 몫이아닌 나머지
증가 ( ++ ) x가 2일 때, ++x 는 x에 3 할당 후 3을 반환

x가 2일 때, x--는 2를 반환 후 1을 할당
감소 ( -- )
단항 부정 ( - ) x가 2일 때 -x는 -2를 반환
단항 플러스 ( + ) +"3" 은 3반환  +true는 1 반환
거듭제곱 ( ** ) 2 ** 3 = 8반환  10 ** -1 = 0.1 반환

 

 

비교 연산자

 

var var1 = 3;

var var2 = 4;

연산자 설명 true 예제
동등 ( == ) 서로 같으면 true를 반환 3 == var1
"3" == var1
3 == '3
부등 ( != ) 서로 다르면 true를 반환 var1 != 4
var2 != "3"
일치 ( === ) 값과 타입이 모두 같은 경우 true 3 === var1
불일치 ( !== ) 값 또는 타입이 서로 다를경우 true  var1 !== "3"
3 !== '3'
큼 ( > ) 왼쪽 피연산자가 오른쪽 피연산자보다 크면 true var2 > var1
"12" > 2
크거나 같음 ( >= )   var2 >= var1
var1 >= 3
작음 ( < )   var1 < var2
"2" < 12
작거나 같음 ( <= )   var1 <= var2
var2 <= 5

 

 

 

비트 연산자

연산자 사용 설명
비트 AND a & b 각 자리비트 값 모두 1일때 1반환
비트 OR a | b 각 자리비트 값 모두 0일때 0반환
비트 XOR a ^ b 각 비트값 서로같으면 0 다르면 1
비트 NOT ~ a 피연산자의 각 자리의 비트를 뒤집음
왼쪽 시프트 a << b a의 이진표현을 b만큼 왼쪽이동 후
오른쪽은 0으로 채움
오른쪽 시프트 a >> b a의 이진표현을 b만큼 오른쪽이동 후 1 미만이동비트는 버림

비트 연산자 예제

표현식 결과 설명
15 & 9 9 1111 & 1001 = 1001
15 | 9 15 1111 | 1001 = 1111
15 ^ 9 6 1111 ^ 1001 = 0110
~15 -16 ~ 0000 0000 ... 0000 1111 = 1111 1111 ... 1111 0000
~9 -10 ~ 0000 0000 ... 0000 1001 = 1111 1111 ... 1111 0110

 

 

논리 연산자

연산자 사용 설명
논리 AND ( && ) expr1 && expr2 둘다 참일때 true 그외 false
논리 OR ( l l )   expr1 l l expr2 둘중 하나 true면 true 그외 false
논리 NOT ( ! )  ! expr 단일피연산자 true일때 false반환

논리 연산자 예제

var a1 =  true && true;     // t && t returns true
var a2 =  true && false;    // t && f returns false
var a3 = false && true;     // f && t returns false
var a4 = false && (3 == 4); // f && f returns false

var o1 =  true || true;     // t || t returns true
var o2 = false || true;     // f || t returns true
var o3 =  true || false;    // t || f returns true
var o4 = false || (3 == 4); // f || f returns false

var n1 = !true;  // !t returns false
var n2 = !false; // !f returns true

 

할당 연산자

 

기본적인 할당 연산자는 오른쪽의 피연산자 값을 왼쪽 피연산자 값에 할당하는 등호(=)로, x = y  y의 값을 x에 할당.

이름 연산자  뜻
할당 x = y x = y
더하기 할당 x += y x = x + y
빼기 할당 x -= y  x = x - y
곱하기 할당 x *= y x = x * y
나누기 할당 x /= y x = x / y
나머지 할당 x %= y x = x % y
거듭제곱 할당 x **= y x = x ** y
시프트 할당 x <<= y       x >>= y x = x << y         x = x >> y
비트 AND 할당 x &= y  x = x & y
비트 XOR 할당 x ^= y x = x ^ y
비트 OR 할당 x l= y x = x l y
논리 AND 할당 x &&= y x && ( x = y )
논리 OR 할당 x ll= y x ll ( x = y )

 

 

 

 

-출처

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Expressions_and_Operators#unary_operators