JavaScript
- Type conversion & implicit type coercion : 명시적 형 변환 & 묵시적 강제 형 변환
let n = 10 + "10"; // n = "1010"
let n = "40" - 1 // n = 39
let n = "40" - "30" // n = 10
+
: 피연산자 중 하나 이상이 문자열이면, 문자열로 연결한다.
-
: 문자열을 숫자열로 변환하여 계산한다. (*,/ 도 포함)
- implicit type coercion 으로 인해 버그가 발생하는 경우도 있으니, 내용을 알고있으면 해결에 도움이 될 수 있다.
- Truthy & Falsy values (Boolean type) : 잠재적 true 혹은 false values
- Falsy values :
0
, ' '
, undefined
, null
, NaN
and false
itself.
- if else 조건문에서의 Boolean
const n = 0;
if (n) {...}
//이 상황에서 if 안의 괄호 n이 true인지 false인지 판단.
//0은 false 이기 때문에 else 블록이 실행된다.