Мне попался рабочий код JavaScript, который я не могу объяснить. Например:
+ [] === 0
- [] === 0
~ [ ] === - 1
~ - ~ [] === - 2
~ - ~ - ~ - ~ - ~ [] === - 5
~ - ~ - ~ - ~ - ~ [] + ~ [] === - 6
~ + ~ [] === 0
~ + ~ + ~ [] === - 1
~ + ~ + ~ + ~ [] === 0
Вы можете объяснить логику этих выражений?