值类型与引用类型数据运算

值类型与引用类型数据运算

​ 值类型的数据和引用类型的数据进行运算的时候,会遵循如下步骤:

1.调用引用类型数据的valueOf方法,获取返回值,尝试和值类型的数据进行运算,如果可以计算,就得出结果。

2.如果不能计算,继续调用这个引用类型数据的toString方法,获取返回值进行计算。

valueOf方法说明如下:

这里写图片描述

toString方法说明如下:

这里写图片描述

应用实例如下:

//第一题
console.log({} + 1);
    //分析步骤:
    //1.console.log({}.valueOf() + 1)
    //2.console.log({}.toString() + 1)
    //3.console.log("[object Object]" + 1)
    //4.console.log("[object Object]1")
    //输出结果  [object Object]1

//第二题
console.log([] + 1);
    //分析步骤:
    //1. console.log([].valueOf() + 1);
    //2. console.log([].toString() + 1);
    //3. console.log("" + 1);
    //4. console.log("1")
    //输出结果  1

//第三题
console.log([] == ![]);
    //分析步骤:
    //1. console.log([] == false)
    //2. console.log([].valueOf() == false);
    //3. console.log([].toString() == false);
    //4. console.log("" == false);
    //输出结果  true

//第四题
console.log({} == !{});
    //分析步骤:
    //1.console.log({} == false);
    //2.console.log({}.valueOf() == false);
    //3.console.log({}.toString() == false)
    //4.console.log("[object Object]" == false)
    //输出结果  false
原文地址:https://www.cnblogs.com/Jianxq12/p/7546200.html