JongDDA의 한걸음 한걸음씩
[JavaScript] 연산자 본문
연산자란?
프로그래밍 언어에서, 연산을 하기 위해 사용하는 기호를 통틀어 연산자라 한다.
앞으로 자주 사용하게 될 연산의 종류로는 산술연산, 문자 결합 연산, 대입 연산, 증감 연산, 비교 연산, 논리 연산 등이 있다.
산술 연산자
산수 시간에 배웠던 사칙 연산을 비롯한 숫자 관련 연산을 할 때 사용하는 연산자이다.
기호 | 설명 |
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
% | 나머지 |
문자 결합 연산자
문자 결합 연산자는 숫자가 아닌 문자형 데이터를 결합하는데, 이때 + 기호를 사용한다. 피연산자에 문자형 데이터가 포함되어 있는 경우, + 기호는 '더하기' 라기보다는 '이어붙이기'의 역할을 하게 된다.
대입 연산자
대입 연산자는 연산된 데이터(혹은 그냥 데이터)를 변수에 저장할 때 사용한다.
기호 | 설명 |
A=B | B를 A에 대입하기 |
A +=B | B를 A에 더하기 |
A -=B | B를 A에 빼기 |
A *=B | B를 A에 곱하기 |
A /=B | B를 A에 나누기 |
A %=B | B를 A에 나눈 나머지를 A에 대입하기 |
증감 연산자
증감 연산자에는 숫자형 데이터를 1씩 증가시키는 증가 연산자(++)와 숫자형 데이터를 1씩 감소시키는 감소 연산자(--)가 있다.
증감 연산자는 단항 연산자로, 피연산자가 하나 뿐이다. 증감 연산자는 연산자가 피연산자의 앞에 오는지 혹은 뒤에 오는지에 따라 기능에 차이가 생긴다.
형태 | 의미 |
A = B++; | B의 데이터를 A에 대입 후 1 증가시킨다 |
A = ++B; | B의 데이터를 1 증가시킨 후 A에 대입한다. |
A = B--; | B의 데이터를 A에 대입 후 1 감소시킨다 |
A = --B; | B의 데이터를 1감소시킨 후 A에 대입한다. |
비교 연산자
종류 | 설명 | 비고 |
A>B | A가 B보다 크다 | 연산 결과가 참일 경우 true를 반환 |
A<B | A가 B보다 작다 | 연산 결과가 참일 경우 true를 반환 |
A>=B | A가 B보다 크거나 같다 | 연산 결과가 참일 경우 true를 반환 |
A<=B | A가 B보다 작거나 같다 | 연산 결과가 참일 경우 true를 반환 |
A==B | A와 B는 같다 | 연산 결과가 참일 경우 true를 반환, 이 경우 숫자형 10과 문자열 '10'을 같은 것으로 본다 |
A!=B | A와 B는 같지 않다 | 연산 결과가 참일 경우 true를 반환, 이 경우 숫자형 10과 문자열 '10'을 같은 것으로 본다 |
A===B | A와 B는 같다 | 연산 결과가 참일 경우 true를 반환, 이 경우 숫자형 10과 문자열 '10'을 같은 것으로 본다 |
A !==B | A와 B는 같지 않다 | 연산 결과가 참일 경우 true를 반환, 이 경우 숫자형 10과 문자열 '10'을 같은 것으로 본다 |
논리 연산자
논리 연산자는 참과 거짓 여부를 판단하고자 할 때 사용하는 연산자이다. 따라서 연산의 결과로는 논리형 데이터인 true 또는 false가 반환된다. 논리 연산자의 종류로는 and(&&), or(||), not(!) 이 존재한다.
종류 | 의미 |
and(&&) | 이항 연산자. 피연산자 중 하나라도 false가 존재하면 false가 반환되며, 모두 true일 때 true가 반환됨. |
or(||) | 이항 연산자. 피연사자 중 하나라도 true가 존재하면 true가 반환되며, 모두 false일 때 false가 반환된다. |
not(!) | 단항 연산자, 참 또는 거짓을 반전시켜 결과를 바꾼다. |
삼항 조건 연산자
삼항 조건 연산자는 조건식의 데이터 결과(true or false)에 따라 실행 결과를 다르게 하기 위해 사용하는 연산자이다.
삼항 조건 연산자는 삼항 연산자라고도 부르며, 피연산자가 3개 필요하다. 삼항 연산자의 기본 형태는 아래와 같다.
조건식 ? 실행문1 : 실행문2;
위와 같이 연산을 진행했을 때, 조건의 결과가 참이면 두 개의 실행문 중 실행문1 만 실행이 되고, 조건의 결과가 거짓이면 실행문2 만 실행이 된다.
'개발 > 프론트엔드' 카테고리의 다른 글
[HTML + CSS] 네이X 로그인 페이지 클론하기 (0) | 2021.03.24 |
---|---|
[JavaScript] 함수 (0) | 2021.03.23 |
[JavaScript] 배열 (0) | 2021.03.19 |
[JavaScript] 객체 (0) | 2021.03.18 |
[JavaScript] 반복문 (0) | 2021.03.17 |