Сокращение Javascript, почему false заменяется на! 1, а true на! 0 [продублировано]

На этот вопрос уже есть ответ здесь:

Есть ли смысл использовать «return! 0» в javascript? 1 ответ

Я пишу приложение с использованием Enyo2, которое поставляется с инструментом минификации на основе UglifyJS. Я заметил, что:

var t = false

заменяется на

var t=!1

Таким же образом true заменяется на! 0. Я уверен, что есть хорошее объяснение этому, я просто не могу его найти. Любая идея?

Ответы на вопрос(4)

Ваш ответ на вопрос