本篇仅对隐式转换中的知识点做记录,不深入展开介绍.

[点击查看图片](https://www.processon.com/view/link/60dd8a751e085359888c0d9d)
注意: PreferredType默认为Number,当input为Date类型数据时,PreferredType为String
- valueOf()
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 | var num = new Number('123');num.valueOf(); // 123
 
 var str = new String('12df');
 str.valueOf(); // '12df'
 
 var bool = new Boolean('fd');
 bool.valueOf(); // true
 
 var a = new Date();
 a.valueOf(); // 1532234132475
 
 var a = new Array();
 a.valueOf();  //[]
 a.valueOf() === a;  // true
 
 var b = new Object({});
 b.valueOf(); //{}
 b.valueOf() === b; // true
 
 
 | 
2.toString()
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | var num = new Number('123sd');num.toString(); // 'NaN'
 
 var str = new String('12df');
 str.toString(); // '12df'
 
 var bool = new Boolean('fd');
 bool.toString(); // 'true'
 
 var arr = new Array(1,2);
 arr.toString(); // '1,2'
 
 var d = new Date();
 d.toString(); // "Sun Jul 22 2018 12:38:42 GMT+0800 (中国标准时间)"
 
 var func = function () {}
 func.toString(); // "function () {}"
 
 var obj = new Object({});
 obj.toString(); // "[object Object]"
 
 Math.toString(); // "[object Math]"
 
 | 
| type(x)|type(y)|result(x==y)|
|-| :- | :-: | -: |
|null|undefined|true|
|String|Number|Number(x)==y|
|Boolean|any|Number(x)==y|
|Object| String or Number|toPrimitive(x)==y|
|NaN|any|false|
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | []==0; //true
 1.[]=>ValueOf([])=>[];
 2.[]=>toSring([])=>""
 
 ""==0
 
 3.""=>Number("")=>0
 
 0==0
 
 
 | 
| 12
 3
 4
 5
 6
 
 | []=="0" //false
 1.[]=>ValueOf([])=>[];
 2.[]=>toSring([])=>""
 
 ""=="0"
 
 | 
| type(x)|type(y)|result(x+y)|
|-| :- | :-: | -: |
|String|any|x+toString(y)|
|Object|any|toString(x)+toString(y)|
|Boolean|Number or Boolean|Number(x)+Number(y)|
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | "1ac"+true   // "1actrue""1ac"+[]    // "1ac"
 "1ac"+[1,'a']   // "1ac1,a"
 "1ac"+{}   // "1ac[object Object]"
 
 {}+true   // "[object Object]true"
 {}+[]   //  "[object Object]"
 
 true+true   // 2
 true+1   // 2
 false+1   // 1
 
 |