Cuál es la diferencia entre un método y una función en JavaScript

Javascript

En este tutorial vamos a ver las diferencias que existen entre los métodos y las funciones de JavScript.

Funciones

Vamos a plantear primer una función:

function saludo() => {
  console.log('Hola!');
}

saludo();

También podríamos declarar esta función como una función flecha:

const saludo = () => {
  console.log('Hola!');
}

saludo();

Como ves podemos hacer referencia a la función por sí sola, siendo una entidad en sí misma.

Métodos

En cambio, un método es una función que está asignada a la propiedad de un objeto o de una clase, si tenemos en cuenta la especificación ES6 de JavaScript:

const persona = {
  saludo: () => {
    console.log('Hola!');
  }
}

persona.saludo()

Desde el método podrás hacer referencia a las propiedades de los objetos en los que están definidas, pero solo cuando defines la función como una función normal, ya que esto no ocurre cuando defines la función como una función flecha:

const persona = {
  nombre: 'Edu',
  saludo: function() {
    console.log(`Me llamo ${this.nombre} y te saludo!`)
  }
}

persona.saludo()

Y esto ha sido todo.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”