I've still written a comment in John Resig blog about Re-Securing JSON and FireFox or Safari 3 const behaviour to create an immutable function, called Native, and to retrieve original Array, Object, String or other constructors. This is the function: const Native = (function(){ const NArray = Array, NBoolean = Boolean, NDate = Date, NError = Error, NMath = Math, NNumber = Number, NObject = Object, NRegExp = RegExp, NString = String; return function(Native){ switch(Native){ case Array:return NArray; case Boolean:return NBoolean; case Date:return NDate; case Error:return NError; case Math:return NMath; case Number:return NNumber; case Object:return NObject; case RegExp:return NRegExp; case String:return NString; }; }; })(); // Example Array = Native(Array); eval("[1,2,3]"); At the same time I've talked about IE behaviour and its missed support for const . While I was thinking about that I imagined a way to use a piece...