image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Lucas Cunha
Lucas Cunha21/05/2024 15:09
Compartilhe

Entendendo as diferenças entre Código Procedural e Orientado a Objetos em JavaScript (ou TypeScript)

  • #JavaScript
  • #TypeScript

Quando falamos sobre JavaScript (JS) ou TypeScript (TS), as diferenças entre código procedural e orientado a objetos ainda são fundamentais, embora a linguagem seja conhecida principalmente por seu suporte a paradigmas de programação orientada a objetos. Vamos explorar esses conceitos com exemplos em JavaScript/TypeScript. 🚀

No JavaScript procedural, o foco está nas funções e na manipulação direta dos dados. O código é escrito em uma série de instruções que são executadas sequencialmente.

Exemplo de código procedural em JavaScript:

// Função para calcular a área de um retângulo
function calcularAreaRetangulo(base, altura) {
return base * altura;
}

// Chamada da função para calcular a área de um retângulo
let baseRetangulo = 5;
let alturaRetangulo = 3;
let areaRetangulo = calcularAreaRetangulo(baseRetangulo, alturaRetangulo);
console.log("A área do retângulo é:", areaRetangulo);

Exemplo de código orientado a objetos em JavaScript (ou TypeScript):

// Definição da classe Retangulo
class Retangulo {
  constructor(base, altura) {
      this.base = base;
      this.altura = altura;
  }


  calcularArea() {
      return this.base * this.altura;
  }
}


// Criando uma instância da classe Retangulo
let meuRetangulo = new Retangulo(5, 3);


// Chamando o método para calcular a área do retângulo
let areaDoRetangulo = meuRetangulo.calcularArea();
console.log("A área do retângulo é:", areaDoRetangulo);

Diferenças principais:

Abstração: No código procedural, as funções e os dados estão separados, enquanto no orientado a objetos, eles são agrupados em objetos. 🧩

Reutilização de Código: O paradigma orientado a objetos facilita a reutilização de código através de herança e composição, enquanto o procedural pode exigir mais esforço para alcançar a mesma reutilização. 🔁

Encapsulamento: No código orientado a objetos, as propriedades e métodos estão encapsulados dentro de objetos, o que ajuda a evitar interferências externas e facilita a manutenção. 🔒

Herança e Polimorfismo: Esses conceitos são mais facilmente aplicáveis em código orientado a objetos, permitindo uma estrutura mais flexível e escalável. 🌱

Em conclusão, JavaScript (e TypeScript) oferecem suporte tanto para programação procedural quanto para orientada a objetos. A escolha entre os dois paradigmas depende das necessidades específicas do projeto e das preferências do desenvolvedor. 🛠️

Compartilhe
Comentários (0)