부수효과 : 피연산자의 값을 변경하는 것.
console.log(+10); // 10 - 아무 효과 없음
console.log(+(-10)); // -10
var x = 5, result;
result = ++x; // 선증가 후할당
console.log(result, x); // 6 6
result = --x; // 선감소 후할당
console.log(result, x); // 5 5
var x = 5, result;
result = x++; // 선할당 후증가
console.log(result, x); // 5 6
result = x--; // 선할당 후감소
console.log(result, x); // 6 5
console.log(+'Str'); // NaN
console.log(+'1'); // 1
console.log(-'10'); // -10
// - 단항 연산자는 부호를 반전한 값으로 반환함
console.log(-(-10)); // 10
console.log('1' + 2); // '12'
console.log(1 + '2'); // '12'
console.log(1 + 2); // 3
var x;
// =
x = 10;
console.log(x); // 10
// +=
x += 5; // x = x + 5;
console.log(x); // 15
// -=
x -= 5; // x = x - 5;
console.log(x); // 10
// *=
x *= 5; // x = x * 5;
console.log(x); // 50
// /=
x /= 5; // x = x / 5;
console.log(x); // 10
// %=
x % = 5; // x = x % 5;
console.log(x); // 0
var a, b, c;
a = b = c = 0; // 오른쪽에서 왼쪽으로 진행
console.log(a, b, c); // 0 0 0
연산자 | 이름 | 뜻 |
---|---|---|
== | 동등 비교 | 값 같음 |
=== | 일치 비교 | 값과 타입 같음 |
!= | 부동등 비교 | 값과 다름 |
!== | 불일치 비교 | 값과 타입 다름 |
console.log('5' == 5); // true
console.log('5' === 5); // false
console.log(NaN === NaN); // false
console.log(isNaN(NaN)); // true
console.log(isNaN(10)); // false
console.log(0 === -0); // true
console.log(0 == -0); // true
console.log(Object.is(-0, +0)); // false
console.log(Object.is(NaN, NaN)); // true
연산자 | ex | 해석 | console.log |
---|---|---|---|
> | x > y | x가 y보다 크다 | console.log(5 > 0); // true |
< | x < y | x가 y보다 작다 | console.log(5 < 5); // false |
>= | x >= y | x가 y보다 크거나 같다 | console.log(5 >= 5); // true |
<= | x <= y | x가 y보다 작거나 같다 | console.log(5 <= 5); // treu |
조건식 ? 조건식이 true일 때 반환할 값 : 조건식이 false일 때 반환할 값
var score = 70;
var result = score >= 60 ? 'pass' : 'fail';
console.log(result); // pass
true || true; // true
true || false; // true
false || true; // true
false || false; // false
true && true; // true
true && false; // false
false && true; // false
false && false; // false
!true; // false
!false; // true
!0; // true
!'Hello'; // false
var x, y, z;
x = 1, y = 2, z = 3;
console.log(x, y, z); // 1 2 3
10 * 2 + 3; // 23
10 * (2 + 3); // 50
console.log(typeof ''); // string
console.log(typeof 1); // number
console.log(typeof NaN); // number
console.log(typeof true); // boolean
console.log(typeof undefined); // undefined
console.log(typeof Symbol()); // symbol
console.log(typeof null); // object
console.log(typeof []); // object
console.log(typeof {}); // object
console.log(typeof new Date()); // object
console.log(typeof /test/gi); // object
console.log(typeof function (){}) // function
var foo = null;
console.log(foo === null); // true
console.log(typeof undecleared); // undefined
console.log(2 * 2); // 4
Math.pow
메서드를 사용함console.log(Math.pow(2, 2)); // 4
console.log(Math.pow(Math.pow(2, 2), 2)); // 16
console.log(2 ** 2 ** 2); // 16
console.log((-5) ** 2); // 25
var num = 5;
num **= 2; // 25
console.log(2 * 5 ** 2); // 50