Usando funções construtoras NA PRÁTICA em JS
Vložit
- čas přidán 6. 06. 2024
- Curso gratuito de programação WEB
↪discover.maykbrito.dev
Nesse vídeo eu vou te ajudar a aprender as funções construtoras no JavaScript de um jeito super fácil.
Se você ainda não está familiarizado com essa função, primeiro precisa saber que ela nada mais é do que um método especial para criar e inicializar um objeto criado a partir de uma classe.
Mas fica tranquilo(a) que eu vou te mostrar tudo isso do melhor jeito: na prática!
Mais conteúdo?
↪ maykbrito.dev
Que explicação incrível maykão, vi outros vídeos por ai e vc conseguiu explicar de uma forma mais simples e clara
Melhor explicação impossível, maykão reina!
que explicação impecável. Mayk é muito bom
Obrigado. Todo dia um ponto do javascript para aprender.
Mayk é incrível para explicar!!!
pqp o Mayk é um mago mano!
Explicação excelente
Show de bola Mayk, os cara só cospe código nos cursos. Se a Rocketseat usar a mesma metodologia estou interessado!!
Usamos!! Especialmente na trilha Fullstack, onde ensinamos fundamentos🥰
ótima explicação, sempre tive dificuldades para entender
class vendo isso: 🤡
Ksksksk😂😂
kkkkk
Exato haha
a classe é basicamente uma função construtora com outro nome.
POO é ruim viu, tá loko
muito bom
Ate que você da de cara com um encadeamento insano, ai o bagulho fica doido haha
boa, isso é bem legal, se puder colocar em casos reais de trabalho fica melhor ainda!
grande Maykao kkkk
Isso se aplica as metatebles?
Pois isso que nesse caso é melhor usar class no lugar de function, porque class obriga a sempre ter que dar new na chamada, ao contrário da function que você pode chamar direto e perder o contexto.
vou me curvar diante de tanta sabedoria 🛐
Kkkkkkk
existe alguma situação em que eu queira usar uma função com new ao invés de uma classe?
Eu diria que não, essa funcionalidade mostrada é bem antiga, anterior à introdução de classes no javascript. Classes deixam o código mais legível e a intenção mais clara.
Justamente por conta disso que eu gosto muito que as faculdades ensinam POO em java, pois mesmo o maykão sendo um professor de outro mundo, não fica tão visível esses conceitos em js da mesma forma que ficaria visível em java por exemplo.
Verdade! Ainda mais que o Javascript é multi paradigma, ou seja, por não ser full OOP, não se entende OOP com JavaScript como se entenderia com Java. Até pq, no final do dia, Javascript é prototype chain pra qualquer objeto instanciado. ( nesse vídeo eu falo mais sobre isso também czcams.com/video/X6klpqubyBw/video.html )
@@maykbrito Muito interessante, arrumei o conteúdo pra ver durante meu almoço kk. Mas pra saciar a dúvida, o Typescript veio justamente para sanar essa lacuna do js, né?
@@EdivanAzeved0 Sim, ele procura ajudar um pouco mais. De qualquer forma, o prototype chain ainda existirá, pois é parte do core do JavaScript e mesmo com o TS, a gente não tem um OOP purinho da silva ahhaah, mas já é melhor do que apenas com o JS
Mayk, e quando seria a diferença de trabalhar com uma classe?
Quando você precisa usar herança para relacionar métodos entre objetos, deseja utilizar membros privados para encapsular dados sensíveis ou já está familiarizado com linguagens orientadas a objetos como Java, C# e outras, usar classe é uma boa opção.
Vale a pena ser dito que, Javascript não exige o uso de classes. Internamente classes são convertidas para prototypes que servem como base para objetos instanciados, mas não objetos literais em sí. A escolha entre classes e funções construtora depende do seu projeto, estilo de programação e nível de conforto. Em geral, a diferença entre performace entre os dois é tão pequena que será dificil de perceber. O tamnho do código e a complexidade torna o código mais impactante em performace do que a ferramenta que você escolhe usar.
@@danielchaves6265 falou lindamente! Eu adicionaria a informação de que Class no JavaScript é um syntactic sugar para o Prototype Chain. Eu falo mais nesse vídeo aqui, acho que vc vai gostar Danilo czcams.com/video/X6klpqubyBw/video.html
@@maykbrito Vlw mestre, aprendi com o melhor. 💖
Fantastico, pra mim JS eh meio ambiguo em varios casos, kkkkk, faltou o constructor, nao?
é só usar classes que todo o conceito de POO funciona tranquilo com JS.
@@mao-no-codigo todo nao, pq nao tem extends nem implements.
@@principe.borodin O extends existe sim, agora o abstract realmente só com Typescript.
@@mao-no-codigo eu nao falei abstract.
na minha humilde opinião e varios artigos comenta sobre isto é que não e legal perder tempo usando THIS pois ele e muito complexo e em escopos encadeados pode gerar bugs complexos e tambem JS não era uma linguagem de OOP tentaram adicionar classes e funções construtoras mas isso so deixo mais osso para quem ta começando da para fazer as mesmas coisa utilizando apenas factory function sem utilizar classes constructor e toda aquelas coisas extend la porem vai de cada um programação utilizando composição e melhor para fazer algo mais sucinto porem as classes permite algo mais gerenciável em larga escala no entanto js continua sendo um linguagem de script assim como Python sempre optem por Funcoes deixa o codigo mais limpo claro utilizando o principio SOLID "UM FUNÇÃO SEMPRE TEM QUE FAZER UM ÚNICA COISA" humildemente esta e minha opnião
Quando falo que Js não de OOP era no quesito de utilização de classes construtoras
pois o PROTOTYPE do JS já é um maravilha
Costumo pensar que se temos a clareza que JS usa o paradigma de prototype e não é OOP raiz, nem funcional raiz, gente vive mais leve hehe
Mano eu ainda nao consegui entender nada :(
Talvez está precisando dar um tempo e ir pegando outros aprendizados, depois voltar a pegar o assunto. Quando eu não entendo algo, eu continuo buscando mais informações e vou com calma comigo mesmo, sabendo que eu posso não entender tudo agora, mas que se eu continuar, com o passar do tempo, eu vou entender
Ou é factory ou é class, simples xD
ou tudo é prototype, mais simples ainda hehe
cansei de comprar cursos e nao ter resultados
Comecei hoje no full stack da rocketseat
Bora pra cima!
Eu não sabia que dava pra usar funções como se fossem classes...
Era o mais comum antigamente, uso das funções etc.
As classes só foram introduzidas no ES6, como a nova forma padrão para esse tipo de objeto com contexto.