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인가? 왜지?)