Neste artigo você vai entender se JavaScript é uma linguagem Orientada a Objetos ou não, as novas versões da linguagem abordam este paradigma?
Fala programador(a), beleza? Bora aprender mais sobre JavaScript e Orientação a Objetos!
Anteriormente na versão ES5 e abaixo a linguagem JavaScript não apresenta alguns recursos importantes da orientação a objetos
Como classes e construtores, por exemplo
Eram feitas adaptações para atingir esses recursos por meio de outros já existentes na linguagem, como as constructor functions
Porém após a versão ES6 as classes, constructors e até herança foram adaptados a linguagem, então podemos dizer que é possível programa neste paradigma em JavaScript
É importante lembrar também que a versão 6 do EcmaScript não está totalmente padronizada nos navegadores, não sendo recomendada sua utilização sem uma ferramenta de transipile, por exemplo
Para transformar todo o código de ES6 em ES5, que está padronizado
Mas é ou não é Orientada a Objetos?
A própria documentação não define que a linguagem foi desenvolvida neste paradigma, tornando mais interpretativa esta questão
Porém há recursos bem fortes que induzem ela a ser orientada a objeto
Um forte exemplo é a questão da maioria dos tipos de dados terem métodos e propriedades
Ou seja, os mesmos foram originados de um objeto pai, simulando um conceito de herança
Que no JavaScript é exercido por meio do Prototype, que faz com que todos os objetos tenham um objeto pai
Podendo reaproveitar todas as características deles, como métodos e propriedades
Além disso, outros recursos da orientação a objetos podem ser criados em JavaScript, como por exemplo:
- Abstração;
- Encapsulamento;
- Herança (com Prototype e sem);
- Polimorfismo;
Mas como citado anteriormente as funcionalidades não são implementadas como nas outras linguagens que possuem estas instruções de forma nativa, porém são aplicáveis
Logo, podemos considerar JavaScript uma linguagem orientada a objetos
Tornando ainda mais forte a argumentação sobre ser uma linguagem OO com a vinda dos recursos de classes na versão ES6
Conclusão
Neste artigo chegamos a conclusão que JavaScript é uma linguagem Orientada a Objetos
Apesar de não ter todos os conceitos da forma que existem nas outras linguagens, é possível aplicá-los de certa forma
Deste ponto de vista a linguagem se torna orientada a objetos ou inclui o paradigma de orientação a objetos
Pois conseguimos programar com orientação a objetos os nossos softwares criados em JavaScript
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube