O Javascript é orientado a objetos - Características de Orientação a Objetos

Índice:

Anonim

Introdução ao JavaScript

JavaScript também abrevia como JS é uma linguagem de programação interpretada de alto nível. JavaScript é uma das três principais tecnologias da World Wide Web. O JavaScript permite criar páginas da web interativas que não sejam estáticas. A maioria dos sites usa JS para o desenvolvimento e os principais navegadores da Web têm o mecanismo JavaScript para executá-lo. O JavaScript é uma linguagem de programação interpretada leve, de tipo fraco, com base em protótipo e com recursos orientados a objetos. O JavaScript é usado para o desenvolvimento de aplicativos da Web no lado do cliente, é incluído ou referenciado por um arquivo HTML para que o código seja renderizado no navegador. Atualmente, o JavaScript não é usado apenas para o desenvolvimento do lado do cliente, mas também para a programação do lado do servidor, existem várias estruturas disponíveis que são criadas usando JavaScript como o Node.js. O Node.js possui muitos módulos para o desenvolvimento de microsserviços, APIs, conexões com o banco de dados e muito mais. O mecanismo JavaScript do lado do cliente oferece muitas vantagens sobre os scripts CGI tradicionais. O JavaScript pode ser usado para agir com base em eventos iniciados pelo usuário, como clicar nos botões, navegações, mensagens pop-up etc., e também é usado para validação do lado do cliente. por exemplo, você pode validar os campos como email, senha etc. no formulário antes de enviá-lo ao servidor da web.

O JavaScript é orientado a objetos?

O tópico sobre se o JavaScript é uma linguagem pura ou não orientada a objetos é sempre discutível. Então agora vamos esclarecer que é Javascript Orientado a Objetos, porque alguns dizem que não é Orientado a Objetos, porque não possui nenhuma classe e não pode implementar conceitos de OOPs como herança ou encapsulamento, e alguns dizem que é uma linguagem Orientada a Objetos. Antes de discutir este tópico JavaScript Orientado a Objetos, deve-se entender que o que torna uma linguagem de programação uma linguagem de programação Orientada a Objetos?

Existem poucas características importantes de uma linguagem orientada a objetos:

  • Polimorfismo:

A capacidade do objeto de assumir várias formas. Por exemplo, a função pode ser sobrecarregada com o mesmo nome, mas com parâmetros diferentes.

  • Encapsulamento:

Vinculando todos os dados e operações e mantendo-os em uma classe.

  • Herança:

A classe filho pode ser derivada da classe pai com todos os recursos da classe pai e algumas propriedades próprias.

Os três princípios acima mencionados formam a base de uma linguagem orientada a objetos.

Portanto, o JavaScript pode não seguir o paradigma exato dos Princípios Orientados a Objetos, mas o JavaScript tem maneiras diferentes de implementar o OOP.podemos demonstrar como o JavaScript segue os Princípios Orientados a Objetos, usando alguns exemplos:

Encapsulamento:

A idéia do encapsulamento é que os dados de um objeto não devam ser acessados ​​diretamente, mas sim através de alguns métodos. Porém, em JavaScript, não há conceito de classe e objetos que implementem o encapsulamento de duas maneiras: Escopo e Fechamento de Função

1) Escopo da Função:

Isso nada mais é do que declarar as variáveis ​​dentro das funções. Portanto, o escopo das variáveis ​​será limitado apenas a funções e outros objetos não podem acessar as variáveis. Vamos dar um exemplo para demonstrar o escopo da função.

teste de funcionamento()
(
valor var = "Olá!";
alerta (valor) // "Olá!";
)
alerta (valor) // erro; O valor não está disponível fora da função.

2) Encerramentos:

O fechamento é um escopo interno que tem acesso a variáveis ​​declaradas fora de seu bloco, mesmo depois que essas variáveis ​​caem fora do escopo. Embora os métodos de um objeto não possam acessar as outras variáveis ​​locais, um objeto interno tem acesso a variáveis ​​de sua função pai. Vamos dar um exemplo para entender isso.

var person = (
var name = “JavaScript”;
return (
setName : function(value)(
name = value;
),
getName : function()(
return name;
)
);
);
alert(person.name) //JavaScript
person.setName(“Java”)
alert(person.name) //Java

Portanto, dessa maneira, podemos declarar objetos ou métodos internos para ocultar os dados e esses podem ser acessados ​​usando objetos-pai.

Herança:

O JavaScript suporta herança por meio do conceito chamado herança Prototípica permite que o objeto JavaScript adquira todos ou alguns dos recursos de outros objetos ou objetos pai.

1) Protótipo:

JavaScript é descrito como linguagem baseada em protótipo, para fornecer um objeto de herança pode ter um objeto de protótipo que herda métodos e propriedades de outros objetos. Um objeto de protótipo de objetos também pode ter um objeto de protótipo que herda métodos e propriedades de seu objeto pai e assim por diante, isso é chamado de cadeia de protótipo.

A imagem acima mostra todas as propriedades do objeto "animal" que está sendo criado. Portanto, o "nome" e o "tipo" são as propriedades de um objeto "animal" e as propriedades como valueOf, toString, toLocaleString etc. são as propriedades de um objeto pai que são herdadas do objeto animal. Consulte a imagem abaixo que mostra as propriedades do objeto pai usando a propriedade proto.

Polimorfismo:

Poli significa "muitos", morfismo significa "formas", polimorfismo nada mais é do que ter formas diferentes. No JavaScript, o polimorfismo é obtido através da subtipagem genérica, de sobrecarga e estrutural.

1) Genéricos (polimorfismo paramétrico):

Isso diz que o tipo da variável não importa, eles são intercambiáveis. Uma função que define um ou mais parâmetros do tipo polimórfico paramétrico não deve saber nada sobre os tipos; deve tratar todos eles da mesma forma, pois pode se adaptar a qualquer um dos tipos. Consulte o exemplo abaixo

dados const = x => y => y.concat (x);

dados (3) ((1, 2)); // (1, 2, 3)

dados ("c") (("a", "b")); // ("a", "b", "c")

2) Sobrecarga (polimorfismo ad-hoc):

A sobrecarga no JavaScript é obtida usando o polimorfismo as-hoc. O polimorfismo ad-hoc é um tipo de polimorfismo no qual as funções polimórficas podem ser aplicadas a argumentos de vários tipos, porque as funções polimórficas podem denotar o número de implementações heterogêneas distintas, dependendo dos tipos de argumentos. Consulte o exemplo abaixo mencionado

O operador "+" é usado de várias maneiras, como adicionar números, concatenar as strings etc.

1 + 2 = 3

1, 2 + 2, 3 = 3, 5

"Java" + "Script" = "JavaScript"

3) Subtipagem estrutural (polimorfismo estrutural):

O polimorfismo estrutural diz que tipos diferentes são equivalentes, por exemplo, se um tipo tem todas as propriedades do outro tipo, além de algumas propriedades adicionais (seguindo a mesma estrutura)

Const peso = (valor: 100, dados: verdadeiro)

Const speed = (valor: 200, dados: false, foo: (1, 2, 3))

A velocidade é considerada um subtipo de peso.

Conclusão - O Javascript é orientado a objetos?

Como estávamos discutindo, o Javascript é orientado a objetos, agora podemos concluir que o JavaScript é uma linguagem orientada a objetos. Embora não tenha classes reais, ainda é uma linguagem orientada a objetos, porque segue os conceitos principais dos princípios orientados a objetos. Portanto, uma linguagem pode ser orientada a objetos se suportar objetos mesmo sem classes.

Artigos recomendados

Este foi um guia para o Javascript orientado a objetos. Aqui discutimos os conceitos básicos e as características de Javascript e Orientado a Objeto. Você também pode consultar os seguintes artigos:

  1. JavaScript vs VBScript
  2. Usos do JavaScript
  3. JavaScript vs AngularJS
  4. JavaScript vs Node JS
  5. Guia abrangente para objetos em Java
  6. Objeto em Python
  7. Exemplos e como os genéricos funcionam em c #