다음 표현식의 값을 계산하십시오.
[ ''] == 거짓
첫째, 두 피연산자는 물체 유형과 부울 유형입니다. 그림 1에 따르면 부울 유형을 숫자 유형으로 변환해야하며 거짓을 숫자로 변환 한 결과는 0이므로 표현식은 다음과 같습니다.
[ ''] == 0
두 피연산자는 물체 유형과 숫자 유형이됩니다. 그림 1에 따르면 객체 유형은 원래 유형으로 변환해야합니다.
먼저 [] .valueof ()를 호출합니다. 배열의 () 메소드가 자체적으로 리턴되므로 결과는 원래 유형이 아닙니다. 계속 [] .toString ()을 호출하십시오.
배열의 경우 ToString () 메소드의 알고리즘은 각 요소를 문자열 유형으로 변환 한 다음 Commas ',' '와 순서대로 연결하는 것입니다. 따라서 최종 결과는 원래 유형의 값입니다.
이 시점에서 표현은 다음과 같습니다.
''== 0
두 피연산자는 문자열 유형과 숫자 유형이됩니다. 그림 1에 따르면 문자열 유형을 숫자 유형으로 변환해야합니다. 앞에서 언급했듯이 빈 문자열은 다수가됩니다. 따라서 표현식이됩니다.
0 == 0
지금까지 두 피연산자의 유형은 마침내 동일하며 결과는 분명히 사실입니다.