isNaN(x) x가 숫자가 아닌 특수 값 NaN인 경우(또는 다음과 같이 변환될 수 있음) 값), 반환된 값은 true입니다. x가 다른 값이면 false를 반환합니다.
i는 인덱스
첫 번째 루프
a[i]가 't'이고
b[a[i]]가 b['t']이고 액세스 첨자가 't'인 경우 숫자가 아닌 객체
b[a[i]]는 항상 NaN입니다.
isNaN(b[a[i]])는 b에 첨자가 없고 t가 있는 객체 b는 이제 비어 있기 때문에 true입니다.
! isNaN(b[a[i]] )는 거짓
!isNaN(b[a[i]] )||(b[a[i]]=1) 또는 연산자||하나가 참인 경우 , 참이다 왼쪽의 수식이 거짓이므로, 그러면 오른쪽의 수식을 실행하는 것은 조건문의 약어라고 볼 수 있다 if(isNaN(b[a[i]] )){b[a[i] ]=1}
(b[a [i]]=1); 왼쪽이 true가 아닌 경우 b의 첨자를 설정합니다. b['t']=1
루프를 다시 실행하고 t가 발생하면 , t는 성공적으로 실행됩니다. 그렇지 않은 경우 계속해서 아래 첨자를 설정하세요.
이 예에서는 공백, 특수 문자 등을 고려하지 않습니다.