¿Puedes explicar cómo funciona este bloque de código?
(function() { function undefined(){}; undefined() })()undefined no es una palabra clave, es solo un identificador.
En el ámbito global, undefined es de solo lectura.
En el alcance del IIFE que tiene, puede crear una nueva variable undefined que enmascare la global.
No hagas eso. Confunde a las personas que intentan mantener el código.
(function() { function undefined() { alert('d') }; undefined() alert(undefined) })() alert(undefined) Esto funciona porque está nombrando la función undefined dentro de una función. Esto significa, dentro del alcance local de la función, undefined = la función. Como puede ver si ejecuta el fragmento de código, fuera del alcance de la función, undefined = undefined una vez más.