연산자(Operator)
1. 산술 연산자
산술 연산자는 사칙연산 및 기본적인 연산을 하는 연산자입니다.
- + : 덧셈
- - : 뺄셈
- * : 곱셈
- / : 나눗셈
- % : 나눗셈을 하고 난 나머지 값 ( 예 : 10 % 3 = 1 )
- ** : 거듭제곱
2.비교 연산자
비교 연산자는 피연산자 사이의 상대적인 크기를 판단하여 참 또는 거짓을 반환합니다.
- > : 왼쪽 값이 오른쪽 값보다 크면 참을 반환한다.
- < : 오른쪽 값이 왼쪽 값보다 크면 참을 반환한다.
- >= : 왼쪽 값이 오른쪽 값보다 크거나 같으면 참을 반환한다.
- <= : 오른쪽 값이 왼쪽 값보다 크거나 같으면 참을 반환한다.
- == : 두 식의 값이 같으면 참을 반환한다. ("10" == 10 는 참 👈🏻 묵시적 형변환이 일어남)
- === : 두 식의 값이 같고, 데이터 타입까지 같으면 참을 반환한다. ( "10" === 10 는 거짓 👈🏻데이터 타입까지 비교했기 때문에)
- != : 두 식의 값이 다르면 참을 반환한다. (10 != 5 는 참)
- !== : 두 식의 값이 다르고, 타입까지 다르면 참을 반환한다.( 10 !== "1" 참)
만약 숫자끼리가 아니라 문자형끼리 비교를 하면 아스키코드를 사용하여 각 자리에 해당하는 문자의 크기를 비교하여 참, 거짓을 반환한다.
const num1 = 3;
const num2 = 5;
const str1 = "3";
const str2 = "abcde";
const str3 = "bcd";
let result = num1 > num2;
console.log(`num1 > num2 : ${result}`);
result = str2 <= str3;
console.log(`str2 <= str3 : ${result}`);
result = num1 == str1;
console.log(`num1 == str1 : ${result}`);
result = num1 === str1;
console.log(`num1 === str1 : ${result}`);
콘솔 출력값
3. 대입 연산자
변수의 값을 대입할 때 사용하는 연산자입니다.
- = : 오른쪽의 값을 왼쪽 변수(상수)에 대입합니다.
- += : 왼쪽 변수(상수)에 오른쪽 값을 더한 후, 그 결과를 다시 왼쪽 변수(상수)에 대입합니다.
let a = 10;
a += 5; // a = a + 5;
// a == 15
- -= : 왼쪽 변수(상수)에 오른쪽 값을 뺀 후, 그 결과를 다시 왼쪽 변수(상수)에 대입합니다.
- *= : 왼쪽 변수(상수)에 오른쪽 값을 곱한 후, 그 결과를 다시 왼쪽 변수(상수)에 대입합니다.
- /= : 왼쪽 변수(상수)에 오른쪽 값을 나눈 후, 그 결과를 다시 왼쪽 변수(상수)에 대입합니다.
- %= : 왼쪽 변수(상수)에 오른쪽 값을 나눈 나머지 값을 구한 후, 그 결과를 다시 왼쪽 변수(상수)에 대입합니다.
- **= : 왼쪽 변수(상수)에 오른쪽 값을 거듭 제곱한 후, 그 결과를 다시 왼쪽 변수(상수)에 대입합니다.
4. 증감 연산자
증감 연산자는 값을 1씩 증가시키거나 혹은 감소시킬 때 사용하는 연산자입니다. 연산자의 위치가 어디에 있는지에 따라 결과가 달라집니다.
- ++변수 : 변수의 값을 1 증가시킨 후, 다음 연산을 진행한다.
- --변수 : 변수의 값을 1 감소시킨 후, 다음 연산을 진행한다.
- 변수++ : 먼저 다른 연산을 수행한 후, 변수의 값을 1 증가시킨다
- 변수-- : 먼저 다른 연산을 수행한 후, 변수의 값을 1 감소시킨다
let a = 5;
++a; // 6
a++; // 7
let b = ++a; // b=8, a=8;
let c = a++; // c=8, a=9; 연산자 우선순위
연산자 우선순위표
5. 논리 연산자
논리 연산자는 주어진 논리식을 판단하여 참과 거짓을 반환한다.
- and 연산자 : 두 논리식 모두 참이면 참을 반환하는 연산자이다. (&&)
const a = 10;
const b = 5;
const result = (a == b) && (a >= b) //false
A B
로그인에서 많이 사용된다.(아이디와 패스워드가 모두 맞아야 하기 때문에)
A && B 결과
true true true
true false false
false true false
false false false
- or 연산자 : 두 논리식 중 하나라도 참이면 참을 반환하는 연산자이다 ( || )
A || B 결과
true true true
true false true
false true true
false false false
not 연산자 : 논리식의 결과가 참이면 거짓으로, 거짓이면 참으로 변환하는 연산자이다. ( ! )
A !결과
true false
flase true
let b = true;
console.log(!b); // false
6. 비트 연산자
비트 연산자는 논리 연산자와 비슷하지만 비트 단위로 논리 연산을 수행합니다.
- bit : 컴퓨터의 용량의 최소단위입니다. 0 또는 1을 저장하는 단위입니다.
- byte : 1byte는 8비트입니다.
- KB(킬로바이트) : 1KB는 1024byte입니다.
- MB(메가바이트) : 1MB는 1024KB입니다.
- GB(기가바이트) : 1GB는 1024MB입니다.
- TB(테라바이트) : 1TB는 1024GB입니다.
- PB(페타바이트) : 1PB는 1024TB입니다.
- & : 대응되는 비트가 모두 참이면 참을 반환하는 연산자입니다.
- | : 대응되는 비트 중에서 하나라도 참이면 참을 반환하는 연산자입니다.
- ^ : 대응되는 비트가 서로 다르면 참을 반환하는 연산자입니다.
- <<(레프트쉬프트) : 지정한 수만큼 비트를 왼쪽으로 이동시킵니다.
- >>(라이트쉬프트) : 지정한 수만큼 비트를 오른쪽으로 이동시킵니다.
- 25 & 18 = 16
32 16 8 4 2 1
1 1 0 0 1 (25)
1 0 0 1 0 (18)
& -----------------------------
1 0 0 0 0 (16) //true == 1, false ==0
- 25 | 18 = 27
32 16 8 4 2 1
1 1 0 0 1 (25)
1 0 0 1 0 (18)
| -----------------------------
1 1 0 1 1 (27)
- 25 << 2
1100100 = 100 - 25 >> 2
11001 = 6
7. 삼항 연산자
조건식에 따른 참, 거짓에 따라 반환값이 달라지는 연산자입니다.
변수 = 조건식 ? 반환값1 : 반환값2;
-----
결과는 true, false
const num = 10;
const a = num == 10 ? "num은 10이야" : "num은 10이 아니야";
------------ --------------
true자리 false자리
ex)
const num1 = Number(prompt('첫번째 숫자를 입력하세요.')); // 5
const num2 = Number(prompt('두번째 숫자를 입력하세요.')); // 7
const result = num1 > num2 ? num1 : num2;
console.log(`입력한 두 수 중 큰 수는 ${result}입니다.`);
console 창
'Front-End > JavaScript' 카테고리의 다른 글
[JavaScript] Math.random() 함수 (0) | 2020.12.21 |
---|---|
[JavaScript] 자바스크립트 제어문, 조건문, if문, switch문 (0) | 2020.12.20 |
[JavaScript] 자바스크립트 대화상자 (prompt, alert, confirm) (2) | 2020.12.18 |
[JavaScript] 자바스크립트 타입변환, 묵시적 타입변환, 명시적 타입변환 (0) | 2020.12.13 |
[JavaScript] 자바스크립트 데이터 타입 (0) | 2020.12.13 |
댓글