Tengo curiosidad acerca de si hay alguna forma de falsificar Array.isArray()
con un objeto definido por el usuario.¿Puede falsificar Array.isArray() con un objeto definido por el usuario?
Del libro Patrones de JavaScript:
Array.isArray([]); // true
// trying to fool the check
// with an array-like object
Array.isArray({
length: 1,
"0": 1,
slice: function() {}
}); // false
ese objeto claramente falla, pero ¿hay alguna otra manera de hacerlo? Esto es pura curiosidad, y no porque yo piense que podrías atornillar con .isArray()
en el código de cliente habitual (¡aunque obviamente sería fantástico saber si podrías!).
Ahora que me has pedirá que hacer una pregunta de seguimiento: http://stackoverflow.com/questions/8672204/can- you-set-the-internal-class-property-of-a-ecmascript-object –