SOURCE

// Number(undefined)  // NaN
// Number(null) // 0
// Number({})  // NaN
// Number(function() {}) // NaN
// Number([]) // 0
// Number(['']) // 0
// Number(['2']) // 2
// Number([2,3]) // NaN

String(undefined) // 'undefined'
String(null) // 'null'
String({})  // [object Object]
String(function() {}) // function () {}
console.log(typeof String(true)) // true
String([1, [3]]); // 1,3  无论套多少括号,都会去掉


Boolean('')  // fasle
Boolean(' ') // true


// Number 的内部实现
// Number(obj)在调用的时候,会先调用valueOf,然后在调用toString
// 如果valueOf返回的是原始值(数字,字符串,布尔),则直接调用Number。
// 如果返回的是对象之类的,则调用toString方法,



// +旁边有一个是字符串,转换成字符串
// +旁边有一个对象类型的,转换成字符串

console 命令行工具 X clear

                    
>
console