* 산술 연산자 (Arithmetic operators)
> + 더하기
> - 빼기
> * 곱하기
> / 나누기
> % 나머지 값
> ** 지수 (거듭제곱)
console.log(5 + 2);
console.log(5 - 2);
console.log(5 * 2);
console.log(5 / 2);
console.log(5 % 2);
console.log(5 ** 2); // es7
console.log(Math.pow(5, 2));
// + 연산자 주의점!
let text = '두개의' + '문자를';
console.log(text);
text = '1' + 1; // 숫자와 문자열을 더하면 문자열로 변환됨
console.log(text);
* 단항 연산자 (Unary operators)
> + (양)
> - (음)
> ! (부정)
let a = 5;
a = -a; // -1 * 5
console.log(a); // -5
a = -a;
console.log(a); // 5 (마이너스 * 마이너스 = 플러스)
a = +a;
console.log(a);
a = -a; // -5
a = +a; // +(-5)
console.log(a);
let boolean = true;
console.log(boolean);
console.log(!boolean);
console.log(!!boolean);
// + 숫자가 아닌 타입들을 숫자로 변환하면 어떤값이 나오는지 확인할 수 있음
console.clear();
console.log(+false); // 0
console.log(+null); // 0
console.log(+''); // 0
console.log(+true); // 1
console.log(+'text'); // NaN
console.log(+undefined); // NaN
console.log(!!1);
// ! 부정연산자
// !! 값을 boolean 타입으로 변환함
* 할당연산자 (Assignment operators)
let a = 1;
a = a + 2;
console.log(a);
a += 2; // a = a + 2; 축약버전
console.log(a);
a -= 2;
console.log(a);
a *= 2;
console.log(a);
a /= 2;
a %= 2;
a **= 2;
* 증가 & 감소 연산자 Increment & Decrement Operators
let a = 0;
console.log(a);
a++; // a = a + 1;
console.log(a);
a--; // a = a - 1;
console.log(a);
console.clear();
// 주의!
// a++ 필요한 연산을 하고, 그 뒤 값을 증가시킴
// ex) console창에 값을 출력시켜주고 그 뒤에 값을 증가시킴
// ++a 값을 먼저 증가하고, 필요한 연산을 함
// ex) 값을 증가시켜주고 console에 값을 출력함
a = 0;
console.log(a++);
console.log(a);
let b = a++;
console.log(b);
console.log(a);
* 대소 관계 비교 연산자 (Relational operators)
// > 크다
// < 작다
// >= 크거나 같다
// <= 작거나 같다
console.log(2 > 3);
console.log(2 < 3);
console.log(3 < 2);
console.log(3 > 2);
console.log(3 <= 2);
console.log(3 <= 3);
console.log(3 >= 3);
console.log(3 >= 2);
* 동등 비교 관계 연산자 (Equality operators)
// == 값이 같음
// != 값이 다름
// === 값과 타입이 둘다 같음
// !== 값과 타입이 다름
console.log(2 == 2); // true
console.log(2 != 2); // false
console.log(2 != 3); // true
console.log(2 == 3); // false
console.log(2 == '2'); // true
console.log(2 === '2'); // false✨
console.log(true == 1); // true
console.log(true === 1); // false
console.log(false == 0); // true
console.log(false === 0); // false
const obj1 = {
name: 'js',
};
const obj2 = {
name: 'js',
};
console.log(obj1 == obj2); // false
console.log(obj1 === obj2); // false
console.log(obj1.name == obj2.name); // true
console.log(obj1.name === obj2.name); // true
let obj3 = obj2;
console.log(obj3 == obj2); // true
console.log(obj3 === obj2); // true
* 논리 연산자 (Logical operator)
// && 그리고
// || 또는
// ! 부정(단항연산자에서 온것)
// !! 불리언값으로 변환 (단항연산자 응용버전)
let num = 8;
if (num >= 0 || num > 20) {
console.log('👍');
}
if (num != 9) {
console.log('🙏');
}
console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false
console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false
console.log(!'text');
console.log(!!'text');
'Study > JavaScript' 카테고리의 다른 글
[JavaScript_study] 반복문(for, while) (0) | 2022.04.10 |
---|---|
[JavaScript_study] 조건문 (if, switch) (0) | 2022.04.10 |
[JavaScript_study] 값으로 평가될 수 있는 것들 (0) | 2022.04.10 |
[JavaScript_study] 값과 참조의 차이 (0) | 2022.04.10 |
[JavaScript_study] 객체 타입(object) (0) | 2022.04.10 |