Calcule el valor de la siguiente expresión:
[''] == Falso
Primero, los dos operandos son de tipo objeto y tipo booleano. Según la Figura 1, es necesario convertir el tipo booleano en un tipo numérico, y el resultado de convertir falso a un numérico es 0, por lo que la expresión se convierte en:
[''] == 0
Los dos operandos se convierten en tipo de objeto y tipo numérico. Según la Figura 1, el tipo de objeto debe convertirse al tipo original:
Primero, llame [] .ValueOf (). Dado que el método ValueOf () de la matriz se devuelve en sí mismo, el resultado no es el tipo original. Continúe llamando [] .ToString ().
Para las matrices, el algoritmo del método toString () es convertir cada elemento en un tipo de cadena, y luego concatenarlo en secuencia con comas ',', por lo que el resultado final es una cadena vacía ', que es un valor del tipo original.
En este punto, la expresión se convierte en:
'' == 0
Los dos operandos se convierten en tipos de cadenas y tipos numéricos. Según la Figura 1, es necesario convertir el tipo de cadena en un tipo de número. Como se mencionó anteriormente, la cadena vacía se convierte en un número de 0. Por lo tanto, la expresión se convierte en:
0 == 0
Hasta ahora, los tipos de los dos operandos son finalmente los mismos, y el resultado obviamente es cierto.