Undefined -> NaN
Null -> +0
Bollean-> true:1, false:0
String -> 값이 숫자이면 숫자로 연산, 단 더하기는 연결
var value;
console.log(10 + value); //NaN
console.log(10 + null); // 10
console.log(10 + true); //11
console.log(10 + false); //10
console.log(10 + "123"); // 10123
console.log(123 - "23"); //100
console.log(10 * "20"); //200
console.log(10 * true); //10
console.log(10 * false); //0
console.log(10 * null); //0
console.log(10 * "A"); //NaN
console.log(2.3 * 3); //6.8999999999999995
1) 6.9로 출력되지 않는다.
2) 이는 정상이며 IEEE 754 유동 소수점 처리 때문
3) 대응방법
console.log(2.3*10 * 3 /10); //6.9
console.log(0 / 0); //NaN
console.log(4 / "A"); //NaN
console.log(4 / 0); //Infinity
console.log(0 / 4); //0
console.log(5 % 2.3); //0.40000000000000036
console.log((5*10 - (2*2.3*10))/10); //0.4