Foros del Web » Programando para Internet » Javascript »

Comportamiento extraño extendiendo Error.

Estas en el tema de Comportamiento extraño extendiendo Error. en el foro de Javascript en Foros del Web. Buenas. He hecho este código de prueba en javascript para averiguar por qué no persiste el campo message cuando extiendo la 'clase' Error. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 09/10/2014, 00:31
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 18 años, 5 meses
Puntos: 32
Comportamiento extraño extendiendo Error.

Buenas.

He hecho este código de prueba en javascript para averiguar por qué no persiste el campo message cuando extiendo la 'clase' Error.
Código javascript:
Ver original
  1. function A(message) {
  2.     this.message = message
  3. }
  4.  
  5. function B(message) {
  6.     A.call(this, message)
  7. }
  8.  
  9. B.prototype = Object.create(A.prototype)
  10. B.prototype.constructor = B
  11.  
  12. function ValidationError(message) {
  13.     Error.call(this, message)
  14. }
  15.  
  16. ValidationError.prototype = Object.create(Error.prototype)
  17. ValidationError.prototype.constructor = ValidationError
  18.  
  19. var a = new A('bla')
  20. var b = new B('ble')
  21. var e = new Error('bli')
  22. var ve = new ValidationError('blo')
  23.  
  24. var text = a.message + ' ' + b.message + ' ' + e.message + ' ' + ve.message
  25.  
  26. alert(text)
La respuesta a la salida es "bla ble bli "
http://jsfiddle.net/jjjvpr04/1/

Si no queda más remedio lo haré al estilo que dice MDN:
Código javascript:
Ver original
  1. function MyError(message) {
  2.   this.name = 'MyError';
  3.   this.message = message || 'Default Message';
  4. }
  5. MyError.prototype = new Error();
  6. MyError.prototype.constructor = MyError;

Pero me parece un comportamiento extraño y no sé si estoy perdiéndome algo que aún no he acabado de comprender bien.

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils

Última edición por Pantaláimon; 09/10/2014 a las 00:42

Etiquetas: comportamiento, extraño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:42.