연산자 (Operator)

지나·2022년 12월 6일
0
post-thumbnail

산술 연산자 +,-,*,/,%,**

  • +. -, *, /, %, **
  • 사칙연산을 다루는 것부터 셈의 결과를 반환하는 기본 연산자이다.
let x = 1;
let y = 2;

console.log(
  x + y, // 덧셈
  x - y, // 뺄셈
  x * y, // 곱셈
  x / y, // 나눗셈
  x % y, // 나머지 구하기
  x ** y // 제곱 하기
  );

연산 기호의 우선순위나, 괄호의 사용 또한 알고 있던 방식과 같은 방식으로 계산된다.
문자열은 다른 자료형과 더해도 문자열 반환




증감 연산자 ++,--

  • 피연산자를 1씩 증가 혹은 1씩 감소시길 때 사용하는 연산자이다.
  • 피연산자가 하나 뿐인 단항 연산자에 해당

연산자반환설명
a++값 그대로연산 수행 후, 피연산자 값 1 증가
++a1 증가한 값피연산자 값 1 증가시킨 후, 연산 수행
a--값 그대로연산 수행 후, 피연산자 값 1 감소
--a1 감소한 값피연산자 값 1 감소시킨 후, 연산 수행
+a값 그대로피연산자의 값은 바뀌지 않는다.
-a양음을 반전피연산자의 양음을 반전시킨다.

let x = 1;
let y = 2;

console.log(
  	x++, x, // 1, 2 출력
	++x, x, // 2, 2 출력
  	y--, y, // 2, 1 출력
  	--y, y, // 1, 1 출력
  	+x, // 1 출력
  	-y  // -2 출력
  	);



대입 연산자 +=,-=,*=,/=,%=,**=

  • 변수에 값을 대입할 때 사용되는 이항 연산자이다.
  • 피연산자의 결합 방향은 오른쪽에서 왼쪽으로 결합한다.

연산자연산설명
i = xi = x왼쪽 피연산자에 오른쪽 피연산자를 대입
x += yx = x+y왼쪽 피연산자에 양쪽 두 피연산자의 덧셈 결과값을 대입
x -= yx = x-y왼쪽 피연산자에 양쪽 두 피연산자의 뺄셈 결과값을 대입
x ×= yx = x×y왼쪽 피연산자에 양쪽 두 피연산자의 곱셈 결과값을 대입
x /= yx = x/y왼쪽 피연산자에 양쪽 두 피연산자의 나눗셈 결과값을 대입
x %= yx = x%y왼쪽 피연산자에 양쪽 두 피연산자의 나머지 결과값을 대입
x ××= yx = x××y왼쪽 피연산자에 두 피연산자의 제곱값을 대입

let x = 4;
let y = 2;

console.log(
  	x += y, // 6 출력
	x -= y, // 2 출력
  	x *= y, // 8 출력
  	x /= y, // 2 출력
  	x %= y, // 0 출력
  	x **= y // 16 출력
  	);



비교 연산자 <,<=,>=,>

항등 연산자 ==,===,!==,!===

  • 피연산자 사이의 상대적인 크기를 판단하여, 참 ture 또는 거짓 false 을 반환하는 연산자
  • 두 개의 피연산자를 가지는 이항 연산자이다.

연산자의미비고
x == y값이 같다.
x === y자료형도 값도 같다.권장
x != y값이 다르다.
x !== y자료형 또는 값이 다르다.권장
x < y왼쪽보다 오른쪽의 값이 더 크다.문자열: 사전순상 x가 먼저온다.
x <= y왼쪽보다 오른쪽의 값이 더 크거나 같다.
x > y오른쪽보다 왼쪽의 값이 더 크다.문자열: 사전순상 y가 먼저온다.
x >= y오른쪽보다 왼쪽의 값이 더 크거나 같다.


console.log('1' == 1);
	// true
	// 자료형이 다른 경우 문자열을 숫자로 변환

console.log(1 === '1');
	// false
	// 자료형이 다른 경우 거짓

console.log(
  '안녕하세요~' === "안녕하세요~",
  `안녕하세요~` === '안녕하세요~'
  );
	// 문자열의 경우 표기방식 구분하지 않음

console.log('Hello!' === 'hello!');
	// 문자열의 경우 대소문자 구분

console.log('100' > 90);
	// true
	// 문자와 숫자를 비교하면 문자를 숫자로 변환



논리 연산자 &&, ||, !

  • 피연산자들 사이의 논리식을 판단하여 참 true 또는 거짓 false 을 반환하는 연산자
  • AND, OR, NOT 연산자가 있다.
  • 단항 연산자인 NOT 연산자를 제외한 두 종류의 연산자는 모두 이항 연산자이다.

연산자연산식설명
AND&&논리식이 모두 참이면 true
OR
NOT!논리식의 결과가 참이면 false, 결과가 거짓이면 ture

const value1 = false;
const value2 = 4 < 2;

console.log('or: ${value1 || value2 || check()}');

function check() {
  for (let i = 0; i < 10; i++) {
    console.log('바봉');
  }
  return true;
}
// '바봉' 10번 출력
// or: ture 출력

or연산자 || 는 피연산자들 중 하나라도 참이면 true 를 반환
or연산자 || 는 true 값이 나오는대로 작업을 breck 함

연산 부하가 적은, true 가능성이 높은 변수를 첫번째로 선언 (리소스 절약)
함수 check() 는 다른 피연산자들보다 작업이 무겁기 때문에 먼저 나열하는 것을 추천 !

console.log('or: ${value1 || value2 || check()}');
// 연산 부하 무거운 변수 앞으로 나열하자 !

console.log('or: ${check() || value1 || value2}');
// 이렇게 !!



삼항 연산자 ~? ~ : ~

  • 유일하게 세 개의 피연산자를 가진 연산자이다.
  • if...else 조건문의 대체제로 간편하게 쓰이기도 한다.
  • 조건문, 참일 경우 실행할 표현식, 거짓일 경우 실행할 표현식 세가지가 필요하다.

연산자형태설명
삼항연산자조건문 ? 참실행문 : 거짓실행문조건문이 참일 경우 첫번째 표현식 실행
조건문이 거짓일 경우 두번째 표현식 실행

let x = ture;
let y = x ? '참입니다요' : '거짓입니다요';

console.log(y)
// '참입니다요' 출력



0개의 댓글