프로그래밍 언어에서 연산자 사용은 기본 중의 기본이라고 할 수 있습니다. 그만큼, 많이 사용하기도 하고, 어렵지 않은 문법 부분이기 때문입니다.
또한, 중요한 것은 프로그래밍 언어마다 조금씩 문법의 차이가 있을 수 있는데, 연산자 부분은 거의 비슷하다고 할 수 있습니다. 따라서, 한번만 이해하면, 모든 언어에서 비슷하게 적용할 수 있는 부분이죠.
그래서, 자바스크립트 부분을 공부하려던 참에 연산자 관련해서 모두 정리해보면 좋지 않을까하여, 포스팅으로 정리를 하게 되었습니다.
다른 연산자가 궁금하신 분은 아래 글을 읽어주세요.
자바스크립트 연산자 정리(연산자 우선순위, 대입 연산자)
그럼, 바로 연산자에 대한 정리를 시작하도록 하겠습니다.
들어가기 전에, 용어 정리를 간단하게.. |
이번 포스팅에서는 피연산자, 연산자, 논리 값 등, 여러 용어가 나올텐데, 간단하게 정리하면 다음과 같습니다.
- 피연산자, 연산자
예를 들어, 3 + 5 라는 수식이 있습니다. 이때, 3과 5는 피연산자라고 부릅니다. 즉, 연산을 당하는 것이라고 할 수 있겠죠. 그러므로, 숫자와 문자열 또는 객체가 될 수도 있겠죠.
또한, +는 연산자라고 부릅니다. 즉, 어떠한 피연산자를 연산하는 것이죠. 예로, +, -, * 등이 있겠습니다.
- 논리 값
프로그래밍에는 참과 거짓이 있습니다. 이걸 자바스크립트에서는 true와 false로 값을 나타냅니다.
- 단항 연산자.
보통 단항 연산자라고 하면, 하나의 값에 연산자를 붙이는 것을 말합니다. 예를 들어서, a++, ++b, -a 등이 있습니다.
비교 연산자를 알아보자. |
비교 연산자는 피연산자들끼리 비교하여서 논리 값을 반환하는 연산자를 말합니다. 이때, 비교는 숫자 뿐만 아니라 문자 및 문자열, 객체도 가능합니다.
보통, 문자의 경우에는 알파벳 순서대로 비교를 합니다. 즉, a가 b보다 작은 값이 되겠습니다.
== : 값이 동등한지 확인하는 연산자.
아래는 피연산자 값을 == 를 이용하여 값이 같은 지를 확인하는 예제입니다. 이처럼, 숫자 뿐만아니라 문자도 같은 지를 확인할 수 있습니다.
// 동등한지 확인하는 연산자 예제.
var a = 5, b = 3;
console.log(a == b); // false
var a = 'a', b = 'a';
console.log(a == b); // false
!= : 값이 다른지 확인하는 연산자.
피연산자 값을 != 를 이용하여 서로 다른 값인 지를 확인하는 예제입니다. 역시나, 숫자 뿐만 아니라 문자 및 문자열도 가능합니다.
// 다른지 확인하는 연산자 예제.
var a = 5, b = 3;
console.log(a != b); // true
var a = 'abc', b = 'abc';
console.log(a != b); // false
=== : 비교하는 피연산자들의 값이 값고, 타입까지 같은 경우에는 true 값을 반환하는 연산자.
위에서 == 연산자가 값이 같은 지를 확인하는 연산자라고 설명했었습니다. 이 연산자는 값과 동시에 타입도 비교하는 연산자라고 생각하시면 될 것 같습니다. 자세한 내용은 추후 포스팅으로 정리하도록 하겠습니다.
// 값과 형태가 일치하는지 확인하는 연산자 예제.
var a = 5, b = 5;
console.log(a === b); // true
!== : 비교하는 피연산자들의 값이 다르거나, 타입이 다른 경우에는 true 값을 반환하는 연산자.
=== 연산자의 반대인 경우를 뜻하는 연산자라고 할 수 있겠습니다. 즉, 값이 다르거나 타입이 다른 경우에는 true 값을 반환합니다. 이 연산자도 === 연산자와 함께 자세한 내용은 추후 포스팅으로 정리하는 게 좋을 것 같습니다.
// 값이 다르거나 형태가 다른 경우를 확인하는 연산자 예제.
var a = 5, b = 5;
console.log(a !== b); // false
> : 비교하는 연산자의 크기가 좌변이 더 클 경우에는 true를 반환하는 연산자.
> 연산자는 두 개의 연산자를 비교하여, 좌변이 더 클 경우에는 true를 반환하고, 우변이 더 클경우에는 false를 반환합니다.
// 부등호 '>' 연산자 예제
var a = 5, b = 3;
console.log(a > b); // true
var a = 'a', b = 'b';
console.log(a > b); // false
< : 비교하는 연산자의 크기가 우변이 더 클 경우에는 true를 반환하는 연산자.
< 연산자는 두 개의 연산자를 비교하여, 좌변이 더 클 경우에 true를 반환하는 연산자 입니다. 우변이 더 클 경우에는 false를 반환하겠죠? 역시, 숫자 뿐만아니라 문자 및 문자열, 객체도 비교할 수 있습니다.
// 부등호 '<' 연산자 예제
var a = 5, b = 3;
console.log(a < b); // false
var a = 'a', b = 'b';
console.log(a < b); // true
>= : 비교하는 연산자의 크기가 좌변이 크거나 같을 경우에는 true를 반환하는 연산자.
>= 연산자는 >와 =연산자가 혼합된 것이라고 생각하면 되겠습니다. 때문에, 좌변이 크거나 같으면 true를 반환하고, 우변이 더 클 경우에는 false를 반환하겠죠.
// 부등호 '>=' 연산자 예제
var a = 5, b = 5;
console.log(a >= b); // true
<= : 비교하는 연산자의 크기가 우변이 크거나 같을 경우에는 true를 반환하는 연산자.
<= 연산자는 <와 =연산자가 혼합된 것이라고 생각하면 되겠습니다. 때문에, 우변이 크거나 같으면 true를 반환하고, 좌변이 더 클 경우에는 false를 반환하겠죠.
// 부등호 '<=' 연산자 예제
var a = 5, b = 5;
console.log(a <= b); // true
산술 연산자를 알아보자. |
산술 연산자는 보통 우리가 생각하는 계산할 때 사용하는 연산자를 뜻합니다. 예를 들면, +, -, *, / 등이 있겠죠? 이와 같은 연산자와 함께 프로그래밍에서 사용하는 산술 연산자를 알아보도록 하겠습니다.
% : 피연산자 끼리 나머지 연산을 한 후에 나머지 값을 반환하는 연산자.
예를 들어, 5 % 3 을 하면 2라는 나머지 값이 반환됩니다.
// 나머지 연산자 예제.
var a = 5, b = 3;
console.log('a % b = ' + a % b); // 2
++ : 단항 연산자로, 피연산자의 값을 1 더하는 연산자.
예를 들어, 5라는 값을 가진 a에 ++을 더한다면, a는 6이 됩니다. 다만, 주의해야 할 점은 ++가 붙는 위치에 따라 다른 값이 나올 수 있습니다.
물론, 1을 더하는 것은 맞지만, 그 타이밍이 다르다는 뜻입니다. 아래 예제로 확인하도록 하겠습니다.
// 증가 연산자 예제.
var a = 5;
console.log('a++ = ' + a++); // a++ = 5
console.log('++a = ' + ++a); // ++a = 7
a++은 a의 값에 1을 더하지만, 출력하는 타이밍에 바로 더해지는 것이 아닙니다. 때문에, 5라는 값이 출력되는 것입니다.
출력 이후에 a의 값이 1 더해지는 것이지요. 반면에, ++a는 바로 1을 더합니다. 때문에 출력할 때에도 7이라는 값이 출력되는 것입니다.
-- : 단항 연산자로, 피연산자의 값을 1 빼는 연산자.
이것도 예를 든다면, 5라는 값을 가진 a에 --을 이용하면, a는 4가 됩니다. 다만, ++처럼 주의해야 할 점은 --도 붙는 위치에 따라 다른 값이 나온 다는 것입니다.
// 감소 연산자 예제.
var a = 5;
console.log('a-- = ' + a--); // a-- = 5
console.log('--a = ' + --a); // --a = 3
- : 단항 연산자로, 피연산자의 부호를 바꾸는 연산자.
피연산자앞에 -를 붙이면, 피연산자의 값이 양에서 음으로, 음에서 양으로 변경됩니다.
// 부정 연산자 예제.
var a = 5;
console.log('-a = ' + -a); // -a = -5
+ : 단항 연산자로, 피연산자의 값을 숫자화 하는 연산자.
피연산자 앞에 +를 붙인다면, 피연산자의 값이 문자 또는 문자열에서 숫자로 변경됩니다.
// 숫자화 연산자 예제.
var a = "5";
console.log('+\"5\" = ' + +a ); // +"5" = 5
이상으로, 너무 길어져서 다음 포스팅에 나머지 연산자에 대한 정리를 이어가도록 하겠습니다. 혹시나, 잘못된 내용이 있다면 댓글 남겨주세요. :)
'프로그래밍 > etc. (Language)' 카테고리의 다른 글
[JavaScript] 자바스크립트 연산자 정리(연산자 우선순위, 대입 연산자) (0) | 2019.06.30 |
---|---|
[JavaScript] 자바스크립트 연산자 정리(비트, 논리 연산자) (1) | 2019.06.30 |
[Javascript] 배열(Array)의 요소들이 특정 조건에 맞는 지 확인하는 방법 (some, every) (0) | 2019.06.29 |
[Node.js] iconv-lite 이용하여 한글(여러 언어)에서 hex, utf-8로, hex에서 utf-8, 한글(여러 언어) 로 변환하기 (0) | 2019.06.22 |
[Node.js] JSON 데이터의 key(name) 부분을 동적으로 만드는 방법 (2) | 2019.06.19 |
댓글