Entendendo Classes, Funções e Métodos no JavaScript: Um Guia Simples para Iniciantes
Tags: javascript, programming, beginners
Published: 2023-05-14 16:29:30

Se você está começando a aprender JavaScript, é importante entender alguns conceitos como classes, funções e métodos. Neste artigo, vamos explorar esses conceitos de forma clara e acessível, para que você possa ter uma maior compreensão do seu funcionamento.

**Classe**

Uma classe é uma estrutura que define um tipo de objeto. Ela é como um modelo para criar vários objetos com características semelhantes.

Ao definir uma classe, usamos a palavra-chave "class", seguida pelo nome da classe. Dentro da classe, podemos definir propriedades, que são variáveis que armazenam características sobre o objeto.

Aqui está um exemplo simples de uma classe "Pessoa" em JavaScript:

```javascript
class Pessoa {
  constructor(nome, idade) {
    this.nome = nome;
    this.idade = idade;
  }
}
```

Nesse exemplo, temos uma classe chamada "Pessoa". Ela possui um construtor (que é um método especial), que é chamado automaticamente quando um objeto da classe é criado. O construtor recebe dois parâmetros, "nome" e "idade", e atribui esses valores às propriedades correspondentes da classe.

A partir dessa definição podemos criar objetos usando o modelo fornecido pela classe. Por exemplo:

```javascript
const pessoa1 = new Pessoa("João", 30);
const pessoa2 = new Pessoa("Maria", 25);
```

No código acima, criamos duas instâncias da classe "Pessoa" chamadas "pessoa1" e "pessoa2". Cada objeto criado a partir da classe terá suas próprias propriedades e valores específicos.

Se escrevermos no console "pessoa1" teremos o seguinte resultado:

```javascript
pessoa1

Pessoa {
  idade:30
  nome: "João"
}

```

**Função**

Uma função é um bloco de código que realiza uma tarefa específica e pode ser reutilizado em diferentes partes do código. Ela é um dos elementos fundamentais e permite agrupar instruções em um único bloco com um nome específico.

As funções em JavaScript podem ser definidas de várias maneiras. A forma mais comum é usando a palavra-chave "function", seguida pelo nome da função, parênteses que podem conter parâmetros (valores de entrada) e um bloco de código delimitado por chaves.

Aqui está um exemplo de uma função simples que recebe dois números como parâmetros e retorna a soma deles:

```javascript
function somar(a, b) {
  return a + b;
}

const resultado = somar(3, 4);
console.log(resultado); // Saída: 7
```

Nesse exemplo, a função "somar" recebe dois parâmetros, "a" e "b", e retorna a soma desses dois valores usando o operador "+". Em seguida, a função é chamada passando os valores 3 e 4 como argumentos. O resultado retornado pela função é atribuído à variável "resultado" e, em seguida, é exibido no console.

**Método**

Método é uma função associada a um objeto ou a uma classe. Ele define ações ou comportamentos específicos que podem ser realizados por esse objeto ou por instâncias da classe. Métodos permitem que você organize e encapsule a lógica do seu código, agrupando operações relacionadas em um único local.

Ao contrário das funções independentes em JavaScript, que podem ser chamadas diretamente, os métodos são invocados através de um objeto ou de uma instância de classe usando a sintaxe de ponto. Por exemplo, se tivermos um objeto chamado "carro" com um método chamado "ligar", podemos invocá-lo da seguinte forma:

```javascript
const carro = {
  ligar: function() {
    console.log("O carro foi ligado.");
  }
};

carro.ligar(); // Saída: O carro foi ligado.
```

Nesse exemplo, "ligar" é um método do objeto "carro". Quando chamamos "carro.ligar()", a função associada ao método é executada, imprimindo a mensagem no console.

Os métodos podem aceitar parâmetros, assim como as funções, e podem retornar valores. Eles podem acessar e manipular as propriedades do objeto ao qual estão associados, usando a palavra-chave "this" para se referir ao próprio objeto. Isso permite que os métodos acessem e modifiquem o estado do objeto de forma controlada.

---

Resumidamente as classes fornecem um modelo para criar objetos com características e comportamentos específicos. As funções permitem a reutilização de um conjunto de instruções, como uma receita para realizar uma tarefa. Já os métodos representam as ações específicas que um objeto pode realizar.