1. WTF [] == ![] // true 왓더퍽!!! 왜 true가 나와 2. 이유 이 현상을 이해하기 위해서는 The abstract equality operator 에 대해서 알아야 한다. == 는 추상적인 비교를 하고 ===는 엄격한 비교를 한다고 보며 된다. == 를 통해서 비교를 할때, JS에서는 서로 타입을 같게해서 비교한다. 예) 1 == '1' / 왼쪽은 숫자형, 오른쪽은 문자형이다. 서로 타입이 다르기에 JS는 서로 타입을 같게 만든다. 어디 결과를 볼까? 1 == '1' // 왼쪽 타입: Number, 오른쪽 타입: string 1 == 1 // 왼쪽 타입: Number, 오른쪽 타입: Number true // 비교 위에 같은 원리로 인해서 [] == ![] 는 true가 나오는 ..