JS中的==运算: [”] == false —true
计算下面表达式的值: [”] == false 首先,两个操作数分别是对象类型、布尔类型。根据图1,需要将布尔类型转为数字类型,而false转为数字的结果是0,所以表达式变为: [”] == 0 两个操作数变成了对象类型、数字类型。根据图1,需要将对象类型转为原始类型: 首先调用[].valueOf(),由于数组的valueOf()方法返回自身,所以结果不是原始类型,继续调用[].toString()。 对于数组来说,toString()方法的算法,是将每个元素都转为字符串类型,然后用逗号’,’依次连接起来,所以最终结果是空字符串”,它是一个原始类型的值。 此时,表达式变为: ” == 0 两
用户评论