前端面试 JavaScript— 对象转原始类型是根据什么流程运行的?
Posted aiguangyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端面试 JavaScript— 对象转原始类型是根据什么流程运行的?相关的知识,希望对你有一定的参考价值。
对象转原始类型,会调用内置的 [ToPrimitive] 函数,对于该函数而言,其逻辑如下:
1. 如果Symbol.toPrimitive()方法,优先调用再返回;
2. 调用valueOf(),如果转换为原始类型,则返回;
3. 调用toString(),如果转换为原始类型,则返回;
4. 如果都没有返回原始类型,会报错。
var obj = {
value: 3,
toString() {
return '5'
},
valueOf() {
return 4;
},
[Symbol.toPrimitive]() {
return 6
}
};
console.log(obj + 1);
// 7
以上是关于前端面试 JavaScript— 对象转原始类型是根据什么流程运行的?的主要内容,如果未能解决你的问题,请参考以下文章