일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- i 태그
- iframe
- height속성
- go live
- css
- Live Server
- id 선택자
- 전체 선택자
- sub태그
- 자식결합자
- br 태그
- width속성
- html 태그
- Checked 의사 클래스
- tag html
- iframe 태그
- html
- 임베디드
- 인접 형제 결합자
- reveal in file explorer
- RGBA
- not 의사클래스
- background-color 속성
- sup태그
- 일반 형제 결합자
- html tag i
- 아두이노
- focus 의사클래스
- RGB
- padding 속성
- Today
- Total
so woon!
[공통] 연산자 본문
학습일 : 2022. 09. 19
연산자(Operator)
연산자(Operator)
연산자는 연산자 기준, 좌/우 항목을 연산하기 위해 사용한다.
연산자의 우선순위(숫자가 작으면 우선 실행됨)
연산자의 우선순위가 같을 경우 좌항이 우선 계산됨.
0. 그룹 연산자 | 7. 동등 비교 연산자, 부등 비교 연산자, 일치 비교 연산자, 불일치 비교 연산자 |
1. 멤버 접근자, 옵셔널 체이닝 | 8. 논리 AND 연산 |
2. 논리 NOT 연산자 | 9. 논리 OR 연산, 널 병합 연산자 |
3. 거듭 제곱 연산자 | 10. 삼항 연산자 |
4. 곱하기 연산자, 나누기 연산자, 나머지 연산자 | 11. 할당 연산자 |
5. 더하기 연산자, 빼기 연산자 | 12. 쉼표 연산자 |
6. 이상, 이하, 초과, 미만 비교 연산자 |
그룹 연산자(Group Operator) : '(...)' 꼴에서 순위가 낮은 연산자에 대해 우선권을 부여하기 위해 사용한다. 우선권을 부여할 연산자를 괄호( (, ) )로 감싼다. 가령 '(1 + 1) * 5'는 10이다. 하지만 '1 + 1 * 5'는 6이다.
할당 연산자(Assignment Operators)
(일반) 할당 연산자(=) : 'x = y' 꼴에서 y값을 x에 할당할 때 사용한다. 이 때 y는 변수 혹은 리터럴(Literal)이어도 상관없으나, x는 리터럴일 수 없다. 할당 연산자는 동등 비교(같은지 확인하기 위한 것)가 아니다. |
더하기 (복합) 할당 연산자(+=) : 'x += y'꼴에서 x에 y를 더한 값을 다시 x에 재할당한다. 여기서 x는 리터럴이 아니다. 풀어서 작성시 'x = x + y'와 같다. |
빼기 (복합) 할당 연산자(-=) : 'x -= y'꼴에서 x에 y를 뺀 값을 다시 x에 재할당한다. 여기서 x는 리터럴이 아니다. 풀어서 작성시 'x = x - y'와 같다. |
곱하기 (복합) 할당 연산자(*=) : 'x *= y'꼴에서 x에 y를 곱한 값을 다시 x에 할당한다. 여기서 x는 리터럴이 아니다. 풀어서 작성시 'x = x * y'와 같다. |
나누기 (복합) 할당 연산자(/=) : 'x /= y'꼴에서 x를 y로 나눈 값을 다시 x에 할당한다. 여기서 x는 리터럴이 아니다. 풀어서 작성시 'x = x / y'와 같다. |
나머지 (복합) 할당 연산자(%=) : 'x %= y'꼴에서 x를 y로 정수부까지 나눈 뒤 남은 정수인 나머지를 x에 할당한다. 여기서 x는 리터럴이 아니다. 풀어서 작성시 'x = x % y'와 같다. |
거듭 제곱 (복합) 할당 연산자(**=) : 'x **= y'꼴에서 x의 y승에 대한 값을 x에 재대입한다. 여기서 x는 리터럴이 아니다. 풀어서 작성시 'x = x ** y'와 같다. |
논리 AND (복합) 할당 연산자(&&=) : 'x &&= y'꼴에서 x와 y가 모두 참인가에 대한 논리값을 x에 재대입한다. 여기서 x와 y는 논리값이다. 풀어서 작성시 'x = x && y'와 같다. |
논리 OR (복합) 할당 연산자(||=) : 'x ||= y' 꼴에서 x와 y중 하나라도 참인가에 대한 논리값을 x에 재대입한다. 여기서 x와 y는 논리값이다. 풀어서 작성시 'x = x || y'와 같다. |
널 병합 할당(??=) : 'x ??= y' 꼴에서 x가 null 혹은 undefined 일 때 y값을 x에 대입한다. 여기서 x는 리터럴이 아니다. 풀어서 작성시 'x = x ?? y'와 같다. 이를 또 풀면 'x = x === null || x === undefined ? y : x'와 같다. |
산술 연산(Arithmetic Operators)
더하기 연산자(+) : 'x + y' 꼴에서, x와 y를 더한다. 이 때 두 값 중 하나라도 문자열(string)이 있을 경우 두 값을 문자열 합치기한다. 가령, (5 + '5')의 연산 결과는 문자열인 '55'가 된다. 어떠한 숫자를 문자열로 변경하고자 할때 숫자 더하기 빈 문자열 (숫자 + '')의 형태를 고의로 사용하기도 한다. |
빼기 연산자(-) : 'x - y' 꼴에서, x에서 y를 뺀다. |
곱하기 연산자(*) : 'x * y' 꼴에서, x와 y를 곱한다. |
나누기 연산자(/) : 'x / y' 꼴에서, x를 y로 나눈다. |
나머지 연산자(%) : 'x % y' 꼴에서, x를 y로 정수부까지 나누고 남은 정수인 나머지를 반환한다. 주로 짝수/홀수를 구분하기 위해 사용한다. 어떠한 정수인 값 a에 대한 2로 나눈 나머지(a % 2)가 0이면 짝수(혹은 0), 1이면 양수인 홀수이다. |
전위 증가 연산자(++) : '++x' 꼴에서, 현재 구문 실행 전, x값에 1을 더한다. 여기서 x는 리터럴이 아니다. |
전위 감소 연산자(--) : '--x' 꼴에서, 현재 구문 실행 전, x값에 1을 뺀다. 여기서 x는 리터럴이 아니다. |
후위 증가 연산자(++) : 'x++' 꼴에서, 현재 구문 실행 완료 후, x값에 1을 더한다. 여기서 x는 리터럴이 아니다. |
후위 감소 연산자(--) : 'x--' 꼴에서, 현재 구문 실행 완료 후, x값에 1을 뺀다. 여기서 x는 리터럴이 아니다. |
거듭 제곱 연산자(**) : 'x ** y' 꼴에서, x의 y승을 계산한다. 가령 '2 ** 3'은 '2의 3승'이고 이는 8이다. |
비교 연산자(Comparsion Operators)
동등 연산자(==) : 'x == y'꼴에서, x와 y의 값이 같은지에 대한 논리값이다. 단, 형변환을 통해 비교할 수 있으면 형변환을 시도한다. |
부등 연산자(!=) : 'x != y'꼴에서, x와 y의 값이 다른지에 대한 논리값이다. 단, 형변환을 통해 비교할 수 있으면 형변환을 시도한다. |
일치 연산자(===) : 'x === y'꼴에서, x와 y의 값과 타입이 같은지에 대한 논리값이다. |
불일치 연산자(!==) : 'x !== y'꼴에서, x와 y의 값이나 타입이 다른지에 대한 논리값이다. |
초과 연산자(>) : 'x > y'꼴에서, x가 y보다 큰가에 대한 논리값이다. |
이상 연산자(>=) : 'x >= y'꼴에서, x가 y와 같거나 보다 큰가에 대한 논리값이다. (절대로 => 꼴로 쓰지 않는다.) |
미만 연산자(<) : 'x < y'꼴에서, x가 y보다 작ㅇ느가에 대한 논리값이다. |
이하 연산자(<=) : 'x <= y'꼴에서, x가 y와 같거나 보다 작은가에 대한 논리값이다. |
논리 연산자(Logical Operators)
AND 연산(&&) : 'x && y' 꼴에서, x와 y가 둘다 논리적으로 참(True)일 때 해당 연산의 결과가 참이된다. 이 때 x와 y는 둘다 논리값이다. x가 거짓인 경우 y를 연산하지 않는다. |
OR 연산(||) : 'x || y' 꼴에서, x와 y중 하나라도 논리적으로 참(True)일 때 해당 연산의 결과가 참이된다. 이 때 x와 y는 둘다 논리값이다. x가 참인 경우 y를 연산하지 않는다. |
NOT 연산(!) : '!x' 꼴에서, x의 논리값을 부정한다. 이 때 x는 논리값이다. |
삼항 연산자(Ternary Operator) : 'x ? a : b' 꼴에서, x조건이 참인 경우 a를, 거짓인 경우 b를 반환한다. 이 때 x는 논리값이다.
멤버 접근자(Member Accessor, Property Accessor) : 'x.y' 꼴에서 x가 가진 y의 멤버에 접근한다.
옵셔널 체이닝 연산자(Optional Chaining Operator) : 'x?.y' 꼴에서, x가 null이거나 undefined여도 안전하게 y 멤버에 접근할 수 있다. 여기서 만약 x가 null이거나 undefined 였다면 반환 값은 undefined이다.
널 병합 연산자(Nullish Coalescing Operator) : 'x ?? y' 꼴에서 x가 null이거나 undefined일 때 y를 대신하여 사용한다.
쉼표 연산자(Comma Operator) : 값이나 할당을 나열하기 위해 사용한다. 콤마로 구분하고 다음과 같이 작성한다. 'x, y,...'
'Javascript > 개념정리' 카테고리의 다른 글
[공통] 멤버 (0) | 2022.09.19 |
---|---|
[공통] if 문법 (0) | 2022.09.19 |
[공통] 함수 (0) | 2022.09.19 |
[공통] 변수와 상수 (0) | 2022.09.16 |
[공통] 자바스크립트(Javascript) (0) | 2022.09.16 |