연산자(operator)

MyeonghoonNam·2021년 8월 2일
0

할당 연산자

  • 할당 연산자는 오른쪽 피연산자의 값을 왼쪽 피연산자에 할당합니다.

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

  • 연산과 할당을 동시에 수행하는 복합 할당 연산자도 존재합니다.

let x;

// 할당 연산자
x = 10;

// 복합 할당 연산자
// 기존값에 값을 연산한다.
x += 5; // 덧셈 할당 => 15
x -= 5; // 뺄셈 할당 => 10
x *= 10; // 곱셈 할당 => 100
x /= 10; // 나눗셈 할당 => 10
x %= 3; // 나머지 연산 할당 => 1
x <<= 4; // 비트 왼쪽 이동 할당 할당 => 10000(2) = 16
x >>= 2; // 비트 오른쪽 이동 할당 => 100(2) = 4

비교 연산자

  • 비교 연산자는 피연산자를 서로 비교하고, 비교 결과가 참인지에 따라 논리 값(true, false)을 반환합니다.

  • 피연산자로는 숫자, 문자열, 논리형, 객체 값을 사용할 수 있습니다.

  • 문자열은 Unicode 값을 사용한 표준 사전식 순서를 기반으로 비교합니다.

// 비교 연산자
const x = 10;
const y = 12;

// 동등 : 값을 비교하여 같으면 true 다르면 false.
x == y; // false

// 부등 : 값을 비교하여 다르면 true 같으면 false
x != y //  ture

// 일치 : 값과 타입이 모두 같은 경우 true
x === y // false

// 불일치 : 값 또는 타입이 서로 다를 경우 true
x !== y // true

// ~보다 큰
x > y // false

// ~보다 크거나 같은
x >= y // false

// ~보다 작은
x < y // true

// ~보다 작거나 같은
x <= y // true

// 주의
'10' == 10; // true
'10' === 10; // false

산술 연산자

  • 덧셈, 뺄셈, 곱셈, 나눗셈 등 산술과 관련된 연산을 하는 연산자이다.
  • Number 타입을 반환한다.
// 산술 연산자
const x = 10;
const y = 12;

x + y // 덧셈 : 22
x - y // 뺄셈 : -2
x * y; // 곱셈 : 120;
x / y; // 나눗셈 : 0.833....
x % y; // 나머지 : 10;

비트 연산자

  • 비트를 직접 조작하는 연산자
// 비트 연산자
const x = 10; // 1010(2)
const y = 12; // 1100(2)

x & y; // AND -> 8
x | y; // OR -> 14
x ^ y; // XOR -> 6

~x; // NOT -> -11, 2의 보수 처리
x << 1; // 10100(2) -> 20
x >> 1; // 101(2) -> 5

논리 연산자

  • Boolean을 통해 참과 거짓을 검증하는 연산자
// 논리 연산자
const x = true;
const y = false; 

x && y; // AND -> false
x || y; // OR -> true
!x; // NOT -> false

삼항 연산자

  • 조건에 따라 값을 선택하는 연산자
  • "조건 ? 참 : 거짓" 의 형태를 가진다.
// 삼항 연산자
const x = 10;
const y = 12; 

x > y ? 100 : 200; // 거짓이므로 200

관계 연산자

  • 객체에 속성의 포함 여부를 확인하기 위한 연산자
// 관계 연산자
const x = {
  name: 'Nam Myeong-Hoon',
  email: 'friends0822@naver.com',
};

'name' in x; // true;
'gender' in x; // false;

typeof

  • 피연산자의 타입을 반환하는 연산자
  • 문자열로 반환된다.
// typeof
const x = 10;
const y = 'String';
const z = false;

typeof x; // number;
typeof y; // string;
typeof z; // boolean;


참고자료

profile
꾸준히 성장하는 개발자를 목표로 합니다.

0개의 댓글