Тёмный

Unveiling the variable "this" on JavaScript | Mayk Brito 

Rocketseat
Подписаться 372 тыс.
Просмотров 56 тыс.
50% 1

Опубликовано:

 

16 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 108   
@ygorluiz
@ygorluiz 5 лет назад
Em tempos de desemprego poucas pessoas disponibilizam conteúdo de qualidade e totalmente de graça, te desejo todo sucesso desse mundo e obrigado !
@espiritfox
@espiritfox Год назад
cara!! seu vídeo já tem 3 anos e foi a melhor explicação que vi até agora!!! parabens
@SektorLK979
@SektorLK979 5 лет назад
Fala Mayk, blz? Ótimo vídeo! Só uma coisa: O contexto (this) representa um objeto em questão e não a função. A função tem um contexto se ela estiver dentro de um objeto ou se você passar um contexto pra ela como no call, bind e apply, do contrário this é undefined. O this é atribuído ao objeto na Creation Phase do contexto de execução. Você consegue acessar o this em uma função em um contexto global, seja browser ou ambiente node, pq existe também um objeto global tanto para o browser (window) quanto para o node. (Global Object). Mas o contexto refere-se ao objeto e não a função
@maykbrito
@maykbrito 5 лет назад
Maninho. Obrigado pelo comentário brother. Excelente. 💜💜💜
@tdias25
@tdias25 5 лет назад
o this não funciona parecido com um escopo dinâmico? só que só leva em consideração como foi chamada (call site)? falo isso em referência ao seu comentário sobre "creation phase"
@SektorLK979
@SektorLK979 5 лет назад
@@tdias25 Talvez não tenha entendido o que você quis dizer mas acho que você confundiu contexto de objeto com escopo léxico e closures. Escopo e contexto são coisas diferentes. Contexto (this) é um valor que faz referência à um objeto, e escopo é o limite onde expressões e valores são visíveis. Existe uma grande confusão entre essas duas coisas porque no JS existem 2 "tipos" de contexto, o contexto de execução e o contexto de objeto, ambos são chamados de contexto mas são coisas diferentes.
@tdias25
@tdias25 5 лет назад
@@SektorLK979 sim, eu disse contexto de execução, que seria algo "" parecido "" como funciona uma linguagem que tem escopo dinâmico
@toninhodiasjr
@toninhodiasjr 4 года назад
Jonatas, o que você falou se aplica neste código abaixo? Pois se eu trocar o this pelo nome da variável o código não roda. Document .btn { width: 100%; height: 75px; } .quadrados { margin: 0; } Adicionar Quadrado var btn = document.querySelector('.btn') var div = document.querySelector('.quadrados') btn.addEventListener('click',add) function add(){ var create = document.createElement('button') div.appendChild(create) create.setAttribute('class','red') create.innerText = "Quadrado" //create.style.width = '100px' //create.style.height = '100px' //create.style.backgroundColor = 'red' //create.style.margin = '5px' //create.style.float = 'left' //create.style = 'width:100px;height:100px;background:red;margin:5px;float:left' create.setAttribute('style','width:100px;height:100px;background:red;margin:5px;float:left') create.addEventListener('mouseover',color) } function color() { var newBtn = document.querySelectorAll('.red') this.style.backgroundColor = getRandomColor() } function getRandomColor() { var letters = "0123456789ABCDEF"; var color = "#"; for (var i = 0; i < 6; i++) { color += letters[Math.floor(Math.random() * 16)]; } return color; } var newColor = getRandomColor();
@joaodasfabulas
@joaodasfabulas 5 лет назад
Esse canal está cada vez melhor, parabéns aos organizadores!
@mauroanselmooliveira
@mauroanselmooliveira 4 года назад
A clareza e objetividade do video são impressionantes! Parabéns! Melhor video em PT-BR sobre o assunto !
@matheusvoalide2649
@matheusvoalide2649 5 лет назад
nem assisti o video ainda, mas ja sei q é de otima qualidade.
@LucasRocha-lp2zi
@LucasRocha-lp2zi 2 года назад
Ja havia procurado em vários lugares e vários blogs uma definição e uma explicação, aqui foi muito maneiro, entendi perfeitamente!!!!! MUITO OBRIGADO!
@ruanvalente7496
@ruanvalente7496 5 лет назад
Incrível Mayk, sua didática é excelente passando o conteúdo de forma clara e objetiva. Parabéns para toda a equipe pelo excelente conteúdo ! Sucesso galera !!
@maykbrito
@maykbrito 5 лет назад
Grande Ruan!! Obrigado pelo comentário manin! Tamo junto!! Bora pra cima!!
@arroz_julio2270
@arroz_julio2270 2 года назад
Minha mente expandiu muito em relação ao This depois desse vídeo, obrigado!!
@gelson_ferreira
@gelson_ferreira 3 года назад
Venho estudando javascript a fundo e você esta dar um grande ajuda. obrigado
@felipedantas8153
@felipedantas8153 3 года назад
Esse Mayke brito manda bem demais, os vídeos dele são incríveis! parabéns mais um conteúdo top!
@leonardoraupp7830
@leonardoraupp7830 2 года назад
Primeira vez que consegui entender o This, muito obrigado!
@andrelima8462
@andrelima8462 3 года назад
Muito bom estava com duvida no this. Vlw Maykão.
@gusprado
@gusprado 5 лет назад
Excelentes exemplos. Parabéns Mayk!!
@maykbrito
@maykbrito 5 лет назад
valeu mano!!
@netasilva_
@netasilva_ 5 лет назад
Mayk ótima explicação, eu peguei esse conteúdo com o Daciuk e agora revi com você. Acho que você é bem didático também e deveria investir nisso kk
@JefSueth
@JefSueth 4 года назад
caraca, esse vídeo tem o conceito de encapsulamento de POO em javascript!
@rocketseat
@rocketseat 4 года назад
Boa Jef! 💜
@bl1tz_x
@bl1tz_x 2 года назад
Maykão é incrível desde sempre
@LucasLima-hj5sg
@LucasLima-hj5sg 2 года назад
Ótimo vídeo Maykão. O this no JS pode ser muito duro às vezes, mas esse vídeo faz um ótimo trabalho explicando os vários casos de uso
@BrenoNovelli
@BrenoNovelli 5 лет назад
Show. Ainda me ajudou a entender método e class um pouco mais. Demorei um pouco pra entender o lance do call. Mas depois foi bem.
@mattfelix4990
@mattfelix4990 5 лет назад
Cara, eu curto os vídeos do Mayk
@maykbrito
@maykbrito 5 лет назад
grande Matt!! TAMO JUNTO MANO!! bora pra cima!!
@JoaoGabriel-pk1ii
@JoaoGabriel-pk1ii 4 года назад
Tem como dar mais de um like? Conteúdo top d+ parabéns
@brunobaldaia5202
@brunobaldaia5202 3 года назад
Mayk fodão como sempre! Mestre!!!
@felipedantas8153
@felipedantas8153 3 года назад
aula incrível parabéns mayk, muito bom esses vídeos
@o-autentico
@o-autentico 5 лет назад
noosa que video maravilhoso parabens cara
@andreytsuzuki5503
@andreytsuzuki5503 4 года назад
Que conteúdo maravilhoso!!! Vou compartilhar com um monte de gente.
@PhilippeHenrique
@PhilippeHenrique 4 года назад
Essa explicação do bind foi genial! Obrigado!
@thiagobevilaqua3303
@thiagobevilaqua3303 5 лет назад
Caramba o cara matou a pau o assunto. Parabéns!!! :D
@maykbrito
@maykbrito 5 лет назад
Hahahahaha tamo junto hajaj
@lucaswilliam8707
@lucaswilliam8707 4 года назад
aula boa dms, me ajudou muito a entender isso !!!
@danielajardim6332
@danielajardim6332 4 года назад
mto boa aula. Obrigada Mayk
@__und3f1n3d__
@__und3f1n3d__ 4 года назад
Sentido? Cara, que aula maravilhosa! Ótima didática e exemplos, Mayk! Só achei um pouquinho zuado a forma como o navegador lida com os escopos. (Mãããs deve ser coisa minha mesmo). O node me parece mais organizado com o module.exports . No mais, é muito interessante ver as diversas alternativas para lidar com as variações do this! rs Obrigado e Obrigado!
@user-zv6vl6ne9z
@user-zv6vl6ne9z 4 года назад
Minha maior dificuldade até agora com JS é esse this e o prototype. Vou assistir esse video pra v se ajuda.
@luccaspio2254
@luccaspio2254 4 года назад
Thiago, também. Muito do que foi dito em relação aos erros e cuidados com as pegadihas precisa de um pouco de experiência e vivência pra lidar e realmente aprender, mas quanto mais codo, mais essas dificuldade vão embora.
@LucasLima-hj5sg
@LucasLima-hj5sg 2 года назад
Assino embaixo, não se bitole em decorar tudo de uma vez só. Muita coisa você aprende codando e errando, aprenda os conceitos e pratique bastante
@ajoco99
@ajoco99 4 года назад
Excelente explicação Maykao
@nalbertcerqueira6079
@nalbertcerqueira6079 Год назад
SEGUE ABAIXO UM RESUMÃO COM VÁRIOS CASOS DO THIS E ALGUMAS EXPLICAÇÕES ------------------------ CONTEXTO DE EXECUÇÃO DE UM MÉTODO -------------------------- 1) [This dentro de um método utilizando function declaration] * Com ou sem "use strict": o this faz referência apenas ao objeto (node e browser) 2) [This dentro de um método utilizando arrow function] * Com ou sem "use strict": o this retorna um objeto vazio (node) ou o objeto global (browser) isso ocorre pois arrow function heda o this do escopo/contexto acima, como acima dela não tem mais nenhuma função, ela pega o objeto global no browser ou um objeto vazio no caso do node. Vale ressaltar que um objeto não é um escopo ou contexto de execução. Os métodos feitos com funciton declaration referenciam o objeto porque a linguagem quis assim, e não porque um objeto cria escopo. 3) [this dentro de function declaration dentro de método feito com function declaration] * Com "use strict": como this dentro de uma function declaration que não é método retorna undefined, logo ela retornará undefined, ignorando a função (que é um método) logo acima dela (node e browser) * Sem "use strict": como o this dentro de uma function declaration que não é método retorna o objeto global, logo ele retorna o objeto global, ignorando a outra função acima dele (node e browser) 4) [this dentro de arrow function dentro de método feito com function declaration] * Com ou sem "use strict": como arrow functions herdam o this do escopo/contexto acima, a arrow function herdará o this do método criado com function declaration, e como o méotodo com function declaration retorna o objeto o qual o método está inserido, logo o this retornará o próprio objeto (node e browser) 5) [this dentro de arrow function dentro de método feito com arrow function] * Com ou sem "use strict": this retornará um objeto vazio caso esteja no node, ou retornará o objeto global caso esteja no browser. --------------------- CONTEXTO DE EXECUÇÃO DE FUNÇÃO QUE NÃO É MÉTODO ---------------------- [This dentro de uma function declaration que não é método] * Com "use strict": o this não faz referencia ao escopo global, retornando undefined (node e browser) * Sem "use strict": o this faz referência ao objeto global (node e browser) [This dentro de uma arrow function dentro de uma function declaration que não é método] * Com "use strict": a arrow function herdará o this do escopo acima, ou seja da function delcaration, e a function declaration no modo estrito retorna this como undefined, portanto this será undefined (node e browser) * Sem "use strict": a arrow function herdará o this do escopo acima, ou seja da function delcaration, e a function declaration sem modo estrito retorna this como objeto global, logo, this será global (node e browser) [This dentro de uma arrow function dentro de uma arrow function que não é método] * Com ou sem "use strict": o this nesse caso retornará um objeto vazio no caso do node ou o objeto global no caso do browser
@principe.borodin
@principe.borodin 5 лет назад
Excelente dica
@viniciusbarbosa4635
@viniciusbarbosa4635 5 лет назад
Amigos da Rocketseat , quando sai a proxima inscrição para o BootCamp?
@fpsgameplaypcs
@fpsgameplaypcs 5 лет назад
Também estou na espera. Deve sair daqui uns 3 a 4 meses. Levando em consideração o ultimo.
@mucicolin
@mucicolin 4 года назад
Muito bom!! Parabéns!
@joseaugustomegres7868
@joseaugustomegres7868 5 лет назад
Slc, to amando a rs
@willianzuqui8005
@willianzuqui8005 5 лет назад
Gostei, me lembrou muito o principio OCP
@gabrielpereiramendes3463
@gabrielpereiramendes3463 2 года назад
#Excelente!
@arthurlara852
@arthurlara852 4 года назад
Nuss que dlç de explicação. Depois de eras tentando entender essa fita do this.
@rocketseat
@rocketseat 4 года назад
Boaaa Arthur!! Valeeu pelo feedback ! 💜
@JeanPaulll
@JeanPaulll 5 лет назад
Parabéns meu caro!
@maykbrito
@maykbrito 5 лет назад
obg Jean!
@juliocesar2159
@juliocesar2159 5 лет назад
Carai estava estudando isso agora nesse momento e aparece a notificação da Rocketseat ainda bem to meio confuso em relação ao this.
@maykbrito
@maykbrito 5 лет назад
hahaha que massa isso mano!! hahaha tomara que te dê uma luz aí!! =D
@tiosam1041
@tiosam1041 4 года назад
Obrigado pelo video :D
@amagami1008
@amagami1008 Год назад
Faltou falar a arrow functiion dentro da estrutura Class ele tem um comportamento diferente daquele jeito objeto declararado sem o Class
@PhilippeHenrique
@PhilippeHenrique 4 года назад
Qual tema vc usa no VS-CODE?
@gabrielrufino9041
@gabrielrufino9041 5 лет назад
Bom demais!
@xmatheusftc
@xmatheusftc 5 лет назад
Glr preciso de uma ajuda, creio eu que meu problema é com o this... Criei um componente no react-native que é um slider com varios videos, nisso eu exporto ele, e é passado varios URls através das props... Quando eu importo esse componente algumas funções ficam compromentidas, botão de pause/play não funciona, duas setas para passar os videos no scrollview também perdem a função. Ah, eu havia testado em uma tela de 'teste' sem importar, renderizando o componente sozinho, e ele funcionou perfeitamente.
@linecker94
@linecker94 2 года назад
será que é tão difícil fazer algo bem padronizado? (a linguagem)
@r.m.2000
@r.m.2000 3 года назад
mas e o Global x Module.Exports? vc dizia que o this muitas vezes estava no global, mas quando dizia global nesse caso estava se referindo ao module.exports do arquivo, mas o global global mesmo, é diferente...
@brunozago8855
@brunozago8855 5 лет назад
Cara, é muito complicado ativar o mic do fone e ouvir em tempo real no speaker? Como eu poderia fazer esta função? Valeu!
@gilmarvictor4410
@gilmarvictor4410 4 года назад
Essa aula me salvou kakaka
@rocketseat
@rocketseat 4 года назад
Aeee! 💜💜💜
@camilaisabela
@camilaisabela 4 года назад
Se colocasse Camila Isabela 34 eu diria que sou eu! Ha ha ha 💙
@Saudavelpro
@Saudavelpro 5 лет назад
Podia fazer um de promises ou iterators
@jgalmeida93
@jgalmeida93 5 лет назад
Excelente vídeo! Você usa Linux? Se sim, qual distro?
@tdias25
@tdias25 5 лет назад
Senão for mac, parece ser o Kubuntu ou Xubuntu
@maykbrito
@maykbrito 5 лет назад
Opa. Valeu brother. Uso o Kali Linux
@jgalmeida93
@jgalmeida93 5 лет назад
@@maykbrito Massa! Curto muito seus vídeos, didática excelente, parabéns!
@felipedantas8153
@felipedantas8153 3 года назад
16:30 fiz no meu vs code e retornou o valor global estou estranhando demais essas coisas de escopo acho que mudaram algo
@felipedantas8153
@felipedantas8153 3 года назад
erro meu já corrigi
@diogo.takeshi
@diogo.takeshi 5 лет назад
Sou iniciante começando do 0 algum curso para recomendar para começar a programar desde ja agradeço
@toninhodiasjr
@toninhodiasjr 4 года назад
Cara, começa com o Curso em Vídeo do RU-vid. Depois parte pra esse aqui. skylab.rocketseat.com.br/node/curso-java-script/group/manipulando-a-dom/lesson/alterando-estilos E vai fazendo os exercícios.
@jonastavares420
@jonastavares420 5 лет назад
Agooora entendi o/
@douglasazevedo2586
@douglasazevedo2586 3 года назад
The Window.name property gets/sets the name of the window's browsing context
@douglasazevedo2586
@douglasazevedo2586 3 года назад
Note: window.name converts all stored values to their string representations using the toString method.
@Igor-vk8fl
@Igor-vk8fl 2 года назад
O que raios é VIZ??????
@dialeletico
@dialeletico 5 лет назад
fragmento de POO?
@mateusrocha4941
@mateusrocha4941 4 года назад
Cara, eu não entendi PN
@mateushenrique6421
@mateushenrique6421 5 лет назад
Segundo
@otaviocr9434
@otaviocr9434 5 лет назад
Repositório não existe :/
@maykbrito
@maykbrito 5 лет назад
fala manin!! liberado.. obrigado pelo comentário!!
@ToshiroKiss
@ToshiroKiss 5 лет назад
this significa isto, esta? pensei que significasse DEMONIO, CAPETA, DESGRAÇA. opskaopskaopksoapsopakoska
@maykbrito
@maykbrito 5 лет назад
aieuhaeiouahuihfe.. no JavaSpirit sim kkkkkk
5 лет назад
Heisenberg
@maykbrito
@maykbrito 5 лет назад
entendedores entenderão hahah
@jerfsonconceicao853
@jerfsonconceicao853 5 лет назад
Luis. Filipe Kauã
@amagami1008
@amagami1008 Год назад
Esse this no Javascript é uma bagunça, alguém por favor arrume essa bagunça
@denissouza8857
@denissouza8857 5 лет назад
3 anos de estudo resumido em 48 minutos. SEN-SA-CI-O-NAL. value @Mayk Brito
@maykbrito
@maykbrito 5 лет назад
hahahah que bom!!! obg pelo feedback
@contraponto193
@contraponto193 3 года назад
vim buscar bronze e achei ouro XD
@FabimBdz
@FabimBdz Год назад
Esse aprofundamento todo deveria ter no curso pago do Explorer, porque as explicações lá deixam muito a desejar..
@caiqueandrade9523
@caiqueandrade9523 3 года назад
uma aula de 47 minutos e eu só entendo o idioma kkkk
@caiqueandrade9523
@caiqueandrade9523 3 года назад
maaas, contudo, toda via, muito obrigado pelo conteúdo!!!
@axfilipe
@axfilipe 5 лет назад
Por isso que eu praticamente só uso TypeScript, JavaScript é uma salada que só por Deus.
@r.m.2000
@r.m.2000 3 года назад
que aflição ver vc colocar ";", no node nao precisa mais de ";"...tente nao usar vera que despoluirá todo o codigo
@amagami1008
@amagami1008 Год назад
Não
Далее
What is an API? REST and RESTful? | MaykBrito
33:57
Просмотров 287 тыс.
Unveiling CSS Grid in practice | Mayk Brito
36:17
Просмотров 373 тыс.
The Future of Brawl Stars in 2025!
04:27
Просмотров 2,1 млн
JavaScript - Maneiras de criar objetos - Root #03
38:02
TUDO que você deve estudar de JavaScript antes do React
1:25:24
Testes no NodeJS aplicando TDD com Jest | Diego Fernandes
1:20:44
TypeScript, o início, de forma prática | MasterClass #07
1:10:24