JavaScript/Basic
연산자(Operator)
yunajoe
2022. 12. 4. 21:59
산술연산자
- 피연산자의 갯수에 따라 이항(2개이상)과 단항으로 나뉠 수 있다
1. 이항산술연산자
- 2개의 피연산자를 산술 연산하여 만든 숫자 값
5+2; // 7
5-2; // 3
5*2; // 10
5/2; // 2.5
5%2; // 1
2. 단항산술연산자
- 1개의 피연산자를 산술 연산하여 만든 숫자 값
var x = 1;
x++; // x = x +1;
console.log(x);
x--; // x = x-1;
console.log(x);
var x = 5 // 5
var result; // undefined
// 선할당 후증가
result = x++;
console.log(result,x); // 5, 6
// 선증가 후할당
result = ++x;
console.log(result,x); // 7 7
// 선할당 후감소
result = x--;
console.log(result,x); // 7 6
// 선감소 후할당
result = --x;
console.log(result,x); // 5 5
what if 숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환하여 반환한다.
이때 피연산자를 변경하는 것은 아니고 숫자 타입으로 변환한 값을 생성해서 반환
var x = '1';
console.log(+x); // 1
x = true;
console.log(+x); // 1
x = false;
console.log(+x); // 0
x = 'Hello';
console.log(+x); // NaN
비교연산자
- 좌항과 우항의 피연산자를 비교한 다음, 그 결과를 불리언 값으로 반환한다
- 동등비교(loose equality) 연산자는 좌항과 우항의 피연산자를 비교할 때 먼저 암묵적 타입의 변환을 통해 타입을 일치. 따라서 타입은 다르더라고 값이 같으면 True 반환
- 일치 비교(strict eqaulity) 연산자는 좌항과 우항의 피연산자를 비교하여 타입도 값고, 값도 같을 때 True를 반환
- 동등비교는 예측하기 어려운 결과를 만들어내므로, 되도록 사용하지 않고 일치비교 연산자를 사용하는 것이 좋다
비교 연산자 | 의미 | 사례 | 설명 | 부수효과 |
== | ||||
=== | ||||
!= | ||||
!== |
// 동등비교 사용
5 == 5; // true
5 == '5'; // true
// 일치비교 사용
5 === 5; // true
5 === '5'// false
삼항조건연산자
- 값처럼 사용할 수 있다
Syntax
조건식 ? 조건식이 true일 때 반환할 값 : 조건식이 false일 때 반환할 값
var result = score >=60? : 'pass' : 'fail';
var x = 2;
var result = x % 2? '홀수': '짝수'; // x % 2 가 true라는 말은 true는 1로 전환되어서 2로 나누어 떨어지지 않는다는 말 => 홀수
console.log(result); // 짝수
논리연산자
논리연산자 | 의미 |
|| | 논리합(OR) |
&& | 논리곱(AND) |
! | 부정(NOT) |
// 논리합(||) 연산자
true || true; // true
true || false; // true
false || true; // true
false || false; // false
// 논리곱(&&) 연산자
true && true; // true
true && false; // false
false && true; // false
false && false; // false
// 부정연산자
!0; // true (0이 false이기 때문에 false의 부정은 true)
!'hello'; // false (hello가 true인가? 왜지?)