2015-11-11 3 views
4

Я вижу довольно много использования !0 и !1 в исходном коде JQuery и JS telerks. Я больше всего видел это в заявлениях о возврате, которые могут повлиять на его использование.Использование jQuery return! 1 или return! 0

Какова цель? Это какая-то оптимизация?

Example from Kendo

+4

Это миниатюрный. Меньше байтов означает меньший скрипт, что означает потенциально более быстрое время загрузки. Это одна из оптимизаций, выполняемых компилятором Google закрытия (https://closure-compiler.appspot.com/home). –

ответ

5

Это трюк для Минимизация:

!0 === true 
!1 === false 

Он просто делает то же самое с меньшим количеством символов.

+0

'1' или' 0' себя недостаточно? Зачем это отрицать? –

+2

@FrankV Так что возвращается 'boolean'. 'typeof 0 ===" number "' while 'typeof! 0 ===" boolean "'. –

+0

Верно, я должен сделать эти '===' вместо '==' – TbWill4321

1

Я предполагаю, что технически это оптимизация, но не одна, которую я рекомендую вам сделать вручную. для вас это сделает minifier.

Это просто возвращает логическое значение.

!0 == true // because 1 is true, 0 is false, so NOT 0 is true. 
!1 == false // same as above logic but flipped.