Как конструкция ~ [] работает в JavaScript?

Мне попался рабочий код JavaScript, который я не могу объяснить. Например:

  • + [] === 0
  • - [] === 0
  • ~ [ ] === - 1
  • ~ - ~ [] === - 2
  • ~ - ~ - ~ - ~ - ~ [] === - 5
  • ~ - ~ - ~ - ~ - ~ [] + ~ [] === - 6
  • ~ + ~ [] === 0
  • ~ + ~ + ~ [] === - 1
  • ~ + ~ + ~ + ~ [] === 0

Вы можете объяснить логику этих выражений?

8
задан Martin. 23 November 2011 в 17:19
поделиться