피연산자
: 값 (1, 2, 3,...)
연산자
피연산자를 연산하여 새로운 값을 만든다. (+, -, * ...)
산술 연산자
: 피연산자(값)를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다.
불가능한 경우 : NaN을 반환한다.
이항 산술 연산자
: 2개의 피연산자를 산술 연산하여 새로운 숫자 값을 만든다.
// 이항 산술 연산자 : +, -, *, / %
5 + 2 // -> 7
단항 산술 연산자
: 1개의 피연산자를 산술 연산하여 숫자 값을 변경한다.
// 단항 산술 연산자 : ++, --, +, -
var x = 5, result;
// 선할당 후증가
result = x++;
console.log(result, x) // 5, 6
//선증가 후할당
result = ++x;
console.log(result, x) // 7, 7
console.log(+(-10), +10) // 10, 10 (그러나 아무 일도 일어나지 않았다...)
console.log(typeof(+'10')) // number !!! -> 백준에서 사람들이 종종 쓰는게 보였다.
// 양수 -> 음수, 음수 -> 양수
console.log(-(-10)); // 10
문자열 연결 연산자
: 피연산중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작한다.
'1' + 2; // '12'
'1' + '2' // '12'
암묵적 타입 변환
또는 타입 강제 변환
이라고 한다..
할당 연산자
: 우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다.
// 할당 연산자 =, +=, -=, *=, /=, %=
var x;
x = 10;
x += 10;
// 등등.....
// 연쇄할당 해버리기!
// 할당 연산자의 정의를 보면 알듯이 c = 0 , b = c(0), a = c(b(0))
var a,b,c;
a = b = c = 0;
console.log(a,b,c) // 0, 0, 0
비교 연산자
: 좌항과 우항의 피연산자를 비교한 결과값을 불리언 값으로 반환한다.
동등 비교
: 좌,우항 타입으로 일치 시키고 같은 값인지 확인한다
일치 비교
: 좌,우항 타입, 값 같은 경우에만 return true!
// 동등 비교 : == , !=
5 == 5 // true;
5 == '5' // true;
// 일치 비교 : ===, !==
5 === 5 // true;
5 === '5' // false;
// 이상한 케이스들 모음집...
NaN === NaN; // 자신과 일치하지 않는 유일한 값.. Number.isNaN()을 사용하자..
0 === -0; // true
0 == -0; // true
대소 관계 비교 연산자
: 피연산자의 크기를 비교하여 불리언 값을 반환한다.
// 대소 관계 비교 연산자 : <, >, >=, <=
5 > 0 // true
삼항조건 연산자
: 조건식의 평가 결과에 따라 반환할 값
을 결정한다.
var x = 10;
var result = if(x % 2) {result = '홀수'; } else {result = '짝수';};
// error
var result = x % 2 ? '홀수' : '짝수';
// 짝수
논리 연산자
: 우항과 좌항의 피연산자를 논리 연산한다.
// 논리합 (||) , 논리곱 (&&), 논리 부정 (!)
true || true // true
쉼표 연산자
: 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 평가가 끝나면 마지막 피연산자의 평가 결과를 반환
x = (2, 3);
console.log(x); // 3
// 많이 사용하는 곳은 for문..
for (let i = 0, j = 9; i <= 9; i++, j--) {
console.log(`a[${i}][${j}] = ${a[i][j]}`);
}
그룹 연산자
: 소괄호로 피연산자를 감싼다.. 연산자 우선순위가 가장 높음
10 * (2 + 3); // 50
typeof 연산자
: 피연산자의 데이터 타입을 문자열로 반환한다.
return
: undefined, object, boolean, number, bigint, string, symbol, function, object
참고
typeof 1 // number
지수 연산자
: 좌항의 피연산자를 밑, 우항의 피연산자를 지수로 거듭 제곱하여 숫자 반환
2 ** 2; // 4
Math.pow(2,2) // 4 예전 사용법