2012-07-10 16 views

Odpowiedz

11

To wyjście konsola

>typeof void 0 
"undefined" 
>void 0 === undefined 
true 
>"undefined".length 
9 
>"void 0".length 
6 

myślę, że starają się zaoszczędzić 3 bajty rozmiar pliku;)

Edit: Ten SO odpowiedź większy sens korzystania void 0, jak undefined jest po prostu własnością obiektu window i jest zmienna. Dlatego void 0 jest zaufanym sposobem generowania niezdefiniowanych w różnych przeglądarkach

+2

Dzięki, ale czy istnieje wyjaśnienie dotyczące "void 0"? Myślałem, że jest to wywołanie funkcji 'void (0)', ale brakuje '()'. Wydaje się nieprawidłowe. – Freewind

+4

'void' jest prawie jak' typeof', który nie jest funkcją, ale operatorem – Tamil

+0

To ma sens do zrozumienia. –

7

W javascript (od 1.1), operator void służy do oceny wyrażenia i powrotu undefined.

Zobacz ECMAScript Language Specification of the void operator

Więc void 0 jest poprawny i standardowy sposób produkować undefined.

Ponieważ jest to operator, nie jest potrzebny nawias.

+2

Problemem jest również to, że można przesłonić globalne nieokreślone w JS i powodują wiele uszkodzeń. W ten sposób biblioteki korzystające z void 0 są bezpieczniejsze. –