자바스크립트는 잘못 쓴 내용도 최대한 출력하려고함 ㅎ (아래처럼)
coercion => conversion (자바스크립트가 강제적으로 값을 변환시킴)
console.log(66 + true) : 67, true => 1 변환시킴, false => 0
console.log(55 - true) : 54, + - * / 다 해당한다
console.log(66 + "false") : 66false
console.log(25 - "1") : 24, - 는 문자열을 숫자열로 변환한다
console.log("" === true) : false, "" => 0 변환시킴, "" 0 NaN undefined null 모두 false이다
console.log("1" ==1) : true, == : type coercion 일어난다
console.log("1" === 1 ) : false, === : type coercion 안 일어난다 (주로 ===을 쓰자)
console.log("true" == true) : false, ==가 boolean 만나 면 숫자로 변환한다 true=>1 "true"=>NaN
"" !== undefined 라는 것을 해줘야 안전하다!
'JavaScript' 카테고리의 다른 글
노마드코더 : JS 핵심 컨셉 33 -3. Value Types, Reference Types (0) | 2020.11.04 |
---|---|
노마드코더 : JS 핵심 컨셉 33 -2. Primitive Types (0) | 2020.11.04 |
노마드코더 : JS 핵심 컨셉 33 -1. Call Stack (0) | 2020.11.04 |
드림코딩 : JS - 함수 기본편 (선언 & 호출) (0) | 2020.10.21 |
드림코딩 : JS - 13. async, await, Promise APIs (비동기의 꽃) (0) | 2020.10.20 |