Javascript

연산자

하루 2021. 12. 30. 01:57

연산자는 프로그래밍 언어에서 특정 연산을 하도록 하는 문자이다.

 

산술 연산자

사칙 연산과 같은 작업을 하는 연산자를 의미한다.

  • + : 덧셈
  • - : 뺄셈
  • * : 곱셈
  • / : 나눗셈
  • ++ : 특정 변수에 1을 바로 더한다.
  • -- : 특정 변수에 1을 바로 빼준다.
let a = 1;
a++;
++a;
console.log(a);  // 3

++ 가 1을 바로 더해주므로 1 + 1 + 1 = 3 이 된다.

 

log 에서 ++ 가 변수 이름 앞에 오는 것과 뒤에 오는 것에는 차이가 있다.

let a = 1;
console.log(a++);  // 1
console.log(++a);  // 3

console.log(a++) 를 할 때는 1을 더하기 직전 값을 보여주고

console.log(++a) 를 할 때는 1을 더한 다음의 값을 보여준다.

뺄셈에서도 동일하게 적용된다.

 

대입 연산자

특정 값에 연산을 한 값을 바로 설정할 때 사용할 수 있는 연산자이다.

= 는 대입 연산자에 해당한다.

하지만 새로운 변수 선언에 사용되는 = 는 대입 연산자에 해당하지 않는다.

let a = 1;
a = a + 3;

// 대입 연산자 사용
let a = 1;
a += 3;

 

논리 연산자

Boolean 타입을 위한 연산자이다.

  • ! : NOT
  • && : AND
  • || : OR

 

NOT (!)

NOT 연산자는 true 는 false 로, false 는 true 로 바꿔준다.

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

const b = !false;
console.log(b);  // true

 

AND (&&)

둘 다 참일때만 참이다. 표현식은 앞에 먼저 평가하고, 뒤에를 평가한다.

// true 인 경우
const a = true && true;
console.log(a);

// false 인 경우
let f = false && false;
f = false && true;
f = true && false;

 

OR (||)

둘 중에 하나만 참이면 참이다.

// true
let t = true || false;
t = false || true;
t = true || true;

// false
let f = false || false;

 

연산 순서

NOTANDOR

const value = !((true && false) || (true && false) || !false);

// 괄호로 감싸져 있을 때에는 가장 마지막에 처리하므로 맨 앞 NOT 은 나중에 처리한다.
// 우선 NOT 을 처리한다.
!((true && false) || (true && false) || true);

// 그 다음엔 AND 를 처리한다.
!(false || false || true);

// OR 연산자를 좌측에서 우측 방향으로 처리한다.
!true;

// 결과값: false;

 

비교 연산자

두 값을 비교할 때 사용한다.

 

일치 확인

일치한다면 true, 일치하지 않는다면 false 를 반환한다.

== 2개는 값을 비교

=== 3개는 값과 타입까지 비교

const a = 1;
const b = 1;
const equals = a === b;
console.log(equals);  // true

== 의 경우 타입검사까지 이루어지지 않기 때문에

  • 숫자 1과 문자 '1' 이 동일한 값으로 간주된다.
  • 0 과 false 도 같은 값으로 간주된다.
  • undefined 와 null 도 같은 값으로 간주된다.

따라서 두 값이 일치하는지 비교할 때는 === 를 사용할 것을 권장한다. == 를 사용하다보면 실수를 할 확률이 높아진다.

 

불일치 확인

두 값이 일치하지 않는지 확인할 때는 !== 를 사용한다.

!= 를 사용하게 되면 타입 검사를 하지 않는다.

두 값이 일치하지 않는지 확인할 때에도 !== 를 사용할 것을 권장한다.

const value = 'a' !== 'b'; // true
console.log(1 != '1');  // false
console.log(1 !== '1');  // true

 

대소 비교

두 값 중에 무엇이 더 크고 작은지 비교하기 위해서는 다음 연산자를 사용할 수 있다.

const a = 10;
const b = 15;
const c = 15;

console.log(a < b);  // true
console.log(b > a);  // true
console.log(b >= c);  // true
console.log(a <= c);  // true
console.log(b < c);  // false

 

문자열 붙이기

두 문자열을 붙일 때는 + 로 할 수 있다.

const a = '안녕';
const b = '하세요';
console.log(a + b);  // 안녕하세요