JS 연산자
-수학적 계산을 위한 코드
-산술 / 할당 / 비교 / 논리
1.산술 연산자
-사직연산을 다룬느 가장기본적이면서도 많이 사용하는 연산자
-모두 두 개의 피연산자를 가지는 이항 연산자
-피연산자들의 결합 방향은 '왼쪽에서 오른쪽'
산술 연산자 종류
: 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나눗셈-나머지(%), 증가(++), 감소(--)
=> 연산자의 우선순위와 결합 방향
-연산자의 우선순의는 수식 내에 여러 연산자가 함께 등장할 때
어느 연산자가 먼저 처리될 것인가를 결정
1) 우선순위: 여러 연사자 사용시, 어느 연산자를 먼저 처리될 것인지 결정
2) 결합방식: 수식 내에 우선순위가 같은 연산자가 둘 이상 있을 때.
먼저 어느 연산을 수행할 것인가를 결정
=> 각각의 연산자 종류에 따라 상이
ex)
let a = 5 + 6 + 11;
let i = 5;
let m = 1;
let n = 2;
let k = i = m = n;
console,log(`k의 값은 ${k}입니다.`);
=> K값은 2입니다. 출력
let x = 20;
let y = 6;
console.log(x + y); => 26
console.log(x - y); => 14
console.log(x * y); => 120
console.log(x / y); => 3.3333...
console.log(x % y); => 2
console.log(`3 + 4의 값은 ${20 + 6}`);
2. 증감 연산자의 종류
1) 후위 연산자
- x++ (변수 뒤에 연산자를 사용)
- 해당 브라우저 식에서 바로 값을 변화 x
-그 다음 해당 변수를 불렀을 때 값을 계산
ex)
x = 5;
console.log(x++); => 5
=> 후위 증가 연산자: +1이 해당 값에서 바로 적용되지 X
console.log(x++); => 6
console.log(x); => 7
2) 전위 연산자
- --x (변수 압에 연산자를 사용);
- 브라우저가 변수를 먼저 증가/감소 시키고 값을 반환
ex)
x = 10;
console.log(--x); => 9
=> 전위 감소 연산자: -1이 해당 값에서 바로 적용
후위/전위 연산자 활용 문제
x = 10;
x++; =>10
x++; =>11
--x; =>11
- 위에 후위 연산자의 값이 출력되어야 하지만 전위 감소가 들어가며 1-1 = 0인 상황이 만들어 진다.
x++; => 11
x; => 12
x++; => 12
++x; => 14
- 후위 증가연산자와 전위증감가 만나면서 +2된다.
console.log(x++) => 14
-후위 증가로 이번 연산에서 증가 값이 표기 되지 않는다.
3. 할당(대입) 연산자
- 변수에 값을 '할당'하는 데 사용
- 변수에 값을 대입할 때 사용하는 이항 연산자
- 피연산자들의 결합 바향은 '오른쪽에서 왼쪽'
- 연산의 순서 중요
할당(대입) 연산자의 종류
: 할당(=), +=, -=, *=, /=, %=
ex)
let a = 10; 우항의 값을 좌항에 할당
-더하기 후 할당-
a += 7; => a = a + 7
console.log(a) => 17
-빼기 후 할당-
a -= 2; a= a - 2
console.log(a) => 15
-곱셈 후 할당-
a *= 2; => a = a * 2
console.log(a) => 30
-나눗셈 후 할당-
a /= a => a = a / 2
console.log(a) => 15
4. 비교 연산자
- 피연산자 사이의 상대적인 크기를 판단하여, 그 결과를 참(true)과 거짓(false)을 반환
- 비교연산자는 모두 두 개의 피연산자를 가지는 이항 연산자
-피연산자들의 결합 방향은 '왼쪽에서 오른쪽'
-'자바스크립'에서 비교 연산자는 피연산자의 타입에 따라 두 가지 기준으로 비교를 진행
(1) 피연산자 둘 다 숫자면, 해당 숫자를 서로 비교
(2)피연산자가 둘 다 문자열이면, 문자열의 첫 번째 문자부처 알파베 순선대로 비교
1) 비교 연산자의 종류
동등(==), 부등(!=)
- 값이 동일한지 테스느 (데이터 유형을 고려하지 않음)
일치(===), 불일치(!==)
-엄격한 값과 값의 데이터 유형의 완정한 일치성을 모두 테스트
그 외
크다(>), 작다(<), 크거나 같다(>=), 작거나 같다(<=)
let num1 = 23:
let num2 = '23';
console.log(num1 == num2); => 동등 -true
console.log(num1 != num2); => 부동 - false
console.log(num1 === num2); => 불일치 - false
console.log(num1 !== num2); => 일치 - true
console.log(num1 == num2); => 동등 -true
-문자열 비교 연산자-
let str1 = 'abc';
let str2 = 'bcd';
console.log(str1 < str2); => true
console.log(str1 >= str2); => false
console.log(str1 > 'a'); => true
'=='와 '==='의 차이
- 동등 연산자는 두 값이 같은지 비교할 때 자동으로 타입 변환을 수행(내용만 비교)
-일치 연산자는 두 값이 같은지 비교할 때 타입 변환 수행하지 않음
=> 값과 타입이 모두 같을 때만 true를 반환
부등 연산자(!=)와 불일치 연산자(!==)
- 각각 동등 연산자와 일치 연산자의 비교와 정확히 반대로 동작
'JavaScript' 카테고리의 다른 글
JavaScript 제어문 (loop.2) (0) | 2024.05.23 |
---|---|
JavaScript 제어문(loop.1) (1) | 2024.05.22 |
JavaScript 조건2(switch, 삼항(조건)연산자) (0) | 2024.05.19 |
JavaScript 조건문1(if, else, else if) (0) | 2024.05.18 |
JavaScript Data Type (0) | 2024.05.18 |