Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2016, 19:15
Avatar de Instru
Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Coffeescript y los mil tipos de metodos

Tengo una pregunta.
He tenido que aprender coffeescript un poco a la fuerza. Al final, siempre puedo ver su equivalencia con javascript, pero tengo una duda que involucra a ambos lenguajes.

Veo que existen muchas maneras de declarar/definir métodos de una clase(o función):
Código:
class una_clase
  metodo_a: ->
    hacer_algo()

  metodo_b = ->
    hacer_algo()
  
  @metodo_c: ->
    hacer algo()

  @metodo_d = ->
    hacer_algo()
Y por si fuera poco, aparte también puedo agregar al prototype.

Cita:
una_clase.otro_metodo = ->
otra_cosa()
Lo que podido constatar es lo siguiente:
1. Un @(osea this) en el espacio de la clase significa propiedad de la clase, algo asi como metodo o variable estático.
2. metodo_a sólo es visible dentro de los métodos de la clase o instancia.
3.Cambiar el prototipo cambia todas las instancias.

De ahí en fuera no entiendo bien cual es la diferencia entre un metodo_a y metodo_b. Si tengo variables miembro, qué es visible para qué.

Esto es bastante engorroso sobretodo cuando uno viene de lenguajes como C++ o python.

Espero me puedan aclarar.

Saludos