데이터 타입을 바꾸는 것
자바스크립트에서 자동으로 바뀐 것
문자열과 다른 데이터 타입을 + 연산하면 문자열로 변환된다
// str + num
1 + '2'; // 12
typeof (1 + '2'); // string
// str + obj
const obj = {key: 'value'};
obj + ''; // '[object Object]'
// str + arr
['a', 'b', 'c'] + '' // 'a,b,c'
null + '' // 'null'
+ 연산자를 제외한 연산에서는 숫자가 우선시 된다
1 - '2' // -1
'2' * '3' // 6
개발자가 의도적으로 바꾼 것
Boolean(1) // true
Boolean(2) // true
// false
Boolean(0)
Boolean('')
Boolean(null)
Boolean(undefined)
Boolean(NaN)
// true
Boolean('false')
Boolean({})
Boolean([]) // true
String(123) // '123'
String(undefined) // 'undefined'
Number('') // 0
Number('123') // 123
Number(null) // 0
Number(undefined) // NaN
Number([]) // 0
Number([5]) // 5
Number({}) // NaN