연산자
자바스크립트는 다양한 연산자 기능을 제공한다.
1. 산술 연산자 (+, -, *, /, %)
- 자바스크립트에서의 일부 산술 연산은 과정이 특이하다.
- 변수값을 다른 데이터 타입으로 캐스팅 해주는 경우도 있고 정수값으로 치환해주는 경우도 있다.
- 기본적으로 연산자 우선순위에 맞게 연산을 진행하므로 주의해야한다.
[연산자 우선순위]
https://www.tcpschool.com/javascript/js_operator_arithmetic
4) /
4-n) divide by zero
대부분의 프로그래밍 언어에서는 divide by zero는 오류가 발생하지만 자바스크립트에서는 Infinity를 사용하여 오류가 발생하지 않는다.
5) % 나머지 연산
M%N 연산의 결과는 0 ~ N-1 의 결과가 나온다. (수의 범위 제한)
- 랜덤수 생성에서 % 연산을 통해 범위를 제한 할 수 있다.
5-n) N % 2 ( 0은 짝수, 1은 홀수 )
- 5 % 2 = 1 으로, N 5는 홀수
- 4 % 2 = 0 으로, N 4는 짝수
5-m) 랜덤수 생성
- Math.random()은 0 ~ 1 사이의 수를 랜덤으로 생성한다. (소수점 두 자리)
- Math.random()의 결과에 100을 곱하고 Math.ceil을 이용하여 소수 자리를 올림하여 정수 데이터로 만든다.
- 이 결과에 나머지 연산을 하여 랜덤 수의 범위를 제한한다.
5-p) 정수의 끝자리 수 확인 ( N % 10 )
2. 대입 연산자
(변수) = (값)
- 이름이 부여가 되어 있지않은 상수값 등은 리터럴 값이라고 한다.
- 변수 값을 대입할 땐 변수의 값들 복사하여 대입하는 것이다. (원본 데이터 영향 x)
2-1) 대입 연산 후 반환 값
대입 연산 후, 그 변수에 저장된 값이 그대로 반환된다.
위와 같이 조건문에서 동등 비교 연산자를 사용하여야 하는데 오타가 나는등의 실수를 할 시, 해당 조건식의 결과는 참만 나오기 때문에 프로그램에 논리적 오류가 발생하게 된다. 해당 오류는 발견하기 힘들 수 있어 주의해야한다.
3. 복합 대입 연산자
연산식을 줄여서 작성할 수 있다.
식 | 풀이 |
a += b | a = a + b |
a -= b | a = a - b |
a *= b | a = a * b |
a /= b | a = a / b |
a %= b | a = a % b |
4. 비교 연산자
결과값은 true/false 이다.
비교 연산자 |
< |
> |
<= |
>= |
== |
=== |
!= |
!== |
5. 논리 연산자
&&: and 연산 (조건식) && (조건식) : 두 조건식이 참이어야 함
||: or 연산 (조건식) || (조건식) : 둘 중 하나라도 참이면 참
&& 조건식 | 결과 |
true && true | true |
true && false | false |
false && true | false |
false && false | false |
|| 조건식 | 결과 |
true || true | true |
true || false | true |
false || true | true |
false || false | false |
5-1) 뒤의 조건식을 확인 안해도 true/false 일 시 조건식을 확인하지 않는다
(조건식1) && (조건식2) | 생략되는 조건식 |
false && true | 조건식2 |
false && false | 조건식2 |
(조건식1) || (조건식2) | 생략되는 조건식 |
true || false | 조건식2 |
true || true | 조건식2 |
생략되는 조건식이 뭐가 문제가 되는가?
- 생략된 조건식에 전체 알고리즘에서 필요한 조건 체크가 있을 수 있다
- 조건식에 필요한 연산이 포함되어 있을 수 있다
6. 증감 연산자
++은 1을 증가시키고 --는 1을 감소시킨다
6-1) 전치 연산자 (++a)
다른 연산자 보다 먼저 증감시킨다.
6-2) 후치 연산자 (a++)
다른 연산을 수행하고 난 뒤 증감시킨다.
6-3) 실습
c = ++a + (b++ + 2) 에서
- ++a는 먼저 11로 증가된다.
- (b++ + 2)는 b의 값 20이 먼저 사용되어 결과는 22가 나오고 b의 값은 21로 증가된다.
- 따라서 a는 11이고 b는 21, c는 11+ 22 = 33이다.
7. 비트 연산자
8. 삼항 연산자
(조건식) ? 참인 경우 실행할 문장 : 거짓인 경우 실행할 문장
'인터넷 프로그래밍 > Javascript' 카테고리의 다른 글
0. SWITCH (0) | 2024.02.19 |
---|---|
0. IF (0) | 2024.02.19 |
0. Prototype - 상속 (0) | 2024.02.15 |
0. ProtoType (기초) (0) | 2024.02.15 |
0. ObjectArray 실습2 (0) | 2024.02.14 |