В коде jQuery наткнулся на красивый способ получения «честного» undefined:
(function(undefined) {
// тут мы имеем настоящий undefined
})();
Напомню, что глобальный undefined можно легко переопределить:
window.undefined = 'some_value';
Вышеприведенный же способ позволяет иметь в своем коде настоящий, «защищенный» undefined, неподверженный переопределению извне.
Кроме этого, добавляются «бесплатные» бонусы:
undefinedстановится локальным внутри кода, обращение к нему будет быстрее, чем к глобальномуundefined- внутри такого кода
undefinedбудет пожат обфускаторами кода, в отличие от глобального
По-моему, очень изящно.
