应用场景:
在JavaScript中,如果想要将对象转换成基本类型时,也就是所谓的拆箱时,会调用toPrimitive()。
函数结构:
toPrimitive(input,preferedType?)
参数解释:
input是输入的值,即要转换的对象,必选;
preferedType是期望转换的基本类型,他可以是字符串,也可以是数字。选填,默认为number;
执行过程:
如果转换的类型是number,会执行以下步骤:
-
如果input是原始值,直接返回这个值;
-
否则,如果input是对象,调用input.valueOf(),如果结果是原始值,返回结果;
-
否则,调用input.toString()。如果结果是原始值,返回结果;
-
否则,抛出错误。
如果转换的类型是String,2和3会交换执行,即先执行toString()方法。
你也可以省略preferedType,此时,日期会被认为是字符串,而其他的值会被当做Number。