ToPrimitive(input [, PreferredType])
接受两个参数一个是需要转换的值(input)一个是可选的参数preferredType(string, number),
input如果是非数据对象类型则返回input本身
如果PreferredType是string则先检查该值是否有toString()的返回值,如果有并且返回基本类型值,就使用该值进行强制类型转换,如果没有就使用valueOf()方法的返回值(如果是基本类型值)来进行强制类型转换,否则报错
如果PreferredType是number则先检查该值是否有valueOf()的返回值,如果有并且返回基本类型值,就使用该值进行强制类型转换,如果没有就使用toString()方法的返回值(如果是基本类型值)来进行强制类型转换,否则报错