연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산등을 수행해 값을 생성한다.
산술연산자들은 산술 연산이 불가능할 경우 NaN을 반환한다.
이항 산술연산자들은 피연산자의 값을 변경하는 부수 효과가 없다.
단항 산술 연산자는 1개의 피연산자를 산술연산해 숫자 값을 만든다. 이때 증감연산자들은 피연산자의 값을 변경하는 부수효과가 있다.
+는 숫자 타입이 아닌 피연산자에 단항연산자로 사용될때 피연산자를 숫자 타입으로 변환하여 반환한다. 이 과정은 숫자 타입으로 변환한 값을 생성해서 반환하므로, 부수효과는 없다.
console.log(+'012345');

+ 는 피연산자 중 하나 이상이 문자열일 경우 문자열 연결 연산자로 동작한다. 이때 주목할 것은 +가 타입 강제 변환을 한다는 것이다.
'1'+2 // '12'
+연산자를 사용할때, true는 1로, false는 0으로 타입 변환된다.
1+true // 2
특별한건 없다.
JS에는 동적 언어의 특성상 동등(loose equality) / 일치(strict equality) 비교 연산자라는게 있다.
일반적인 == 는 동등연산자라고 한다. 동등연산자는 암묵적 타입 변환을 통해 타입변환을 했을때 같은 값인지를 비교한다.