「2==1==0 → true」와이「!?」

무슨 일이야





우선 처음 두 항에 주목하겠습니다.2==1 는 false 네요.

그렇다고 하는 것은, 실제로는 false==0 를 평가하게 됩니다.
JS == 는 암시적 형식 변환을 수행하므로 false와 0은 등가이고 최종 결과는 true입니다.
/* こう書くとわかりやすいかも */
(2==1)==0 //true

그래서 아래 그림과 같이 왼쪽의 식을 얼마나 길게 하자, 결과는 true입니다.


10==9==8==7==6==5==4==3==2==1 는 false이므로 결국 false==0 를 평가하는 것일 뿐입니다.

전 자료



Twitter에서 찾은 재료입니다.

JS 완전히 이해한 피 c. 라고 r. 코 m / n6PG 및 sFB1 — 세계의 TANEO (@TaneoKoyama) June 22, 2019

좋은 웹페이지 즐겨찾기