0:00:00.560,0:00:05.740 Tô aqui pra te contar sobre algo que é bem daora, que eu realmente deveria saber quando eu fiz esse vídeo 0:00:05.740,0:00:09.020 mas é algo novo pra mim e será agora novo pra você ou talvez você já saiba disso. 0:00:09.100,0:00:14.620 Eu vou mostrar esse novo loop (laço de repetição) em Javascript chamado "for... of" ("para... de"). 0:00:14.740,0:00:16.280 É, é como vou chamá-lo: "for... of". 0:00:16.360,0:00:20.480 Então... uh... muito, muito comumente... no exemplo anterior que eu fiz recentemente, certo? 0:00:20.480,0:00:23.420 Isso acontece o tempo todo. O tempo todo em programação: 0:00:23.660,0:00:29.680 - Ei, eu tenho um array (conjunto, arranjo) de coisas. Deixe-me passar por todo o array para agir em tudo que está dentro dele 0:00:29.760,0:00:33.995 E isso pode acontecer com arrays de objetos, tipo eu quero mover e exibir todos esses objetos 0:00:34.040,0:00:35.700 Poderia acontecer com arrays de números, tipo... ah... 0:00:35.760,0:00:39.380 deixe-me dobrar todos os números nesse array ou somar todos os números nesse array 0:00:39.540,0:00:42.700 E na verdade há outras formas de fazer isso também, as quais vou falar sobre em outros vídeos... 0:00:42.820,0:00:46.000 mas o que eu quero mostrar aqui é o "for... of" loop 0:00:46.100,0:00:49.080 então... o que de fato isso está dizendo aqui é 0:00:49.200,0:00:53.000 "for" (para) toda bolha no array de bolhas... 0:00:53.120,0:00:56.440 o problema é eu acredito que "in" (em) já significava algo diferente em Javascript 0:00:56.580,0:01:00.760 ou "each" (cada) sempre... há algo tipo "for each" (para cada)... então... 0:01:00.880,0:01:06.460 Estou especulando aqui mas eu imagino que... quando esse recurso saiu para Javascript... 0:01:06.600,0:01:09.900 os desenvolvedores precisaram escolher uma palavra, e essa palavra é "of" (de). 0:01:10.080,0:01:17.100 Então o que eu realmente vou dizer é tipo: esse índice i do array de bolhas representa cada elemento do ("of") array de bolhas 0:01:17.100,0:01:20.400 Então, na verdade, eu posso fazer exatamente o mesmo loop dizendo... 0:01:20.500,0:01:26.080 "for (let [every] bubble of bubbles)" (para cada bolha [elemento] de bolhas [array]) 0:01:26.260,0:01:33.420 e então "bubbles.move()", ops, não "bubbles" (bolhas)... [ele corrige para "bubble.move()"] e "bubble.show()". 0:01:33.580,0:01:36.360 Agora, quando... então... isso é o que eu quero enfatizar aqui: 0:01:36.360,0:01:37.840 Esses [loops] são exatamente... 0:01:37.940,0:01:39.660 eu vou vir aqui pro lado... 0:01:39.660,0:01:41.060 Esses [loops] são exatamente iguais 0:01:41.060,0:01:42.820 Movi meu mouse pra fora do caminho aqui hahah 0:01:42.880,0:01:45.060 Não... Eu devo parecer perfeito na tela aqui, certo? 0:01:45.240,0:01:51.260 Isso sou eu contando o índice para endereçar (definir) todo elemento dentro array, e movendo e exibindo-os 0:01:51.260,0:01:53.400 Isso sou eu apenas dizendo: - Ei, Javascript! 0:01:53.560,0:01:56.540 - Eu não tô a fim de contar hoje, você poderia tomar conta disso pra mim? 0:01:56.680,0:02:01.760 - Só pegue cada uma das bolhas, em ordem, no array de bolhas, e as mova e exiba 0:02:01.880,0:02:05.920 Agora, haverão momentos em vídeos futuros onde eu começo a deletar coisas do array... 0:02:06.100,0:02:08.000 ou talvez eu só queira usar metade do array. 0:02:08.000,0:02:10.720 Aí esses são casos onde eu realmente preciso do contador (de índices). 0:02:10.820,0:02:13.360 Há vários casos em que o contador exerce um papel. 0:02:13.440,0:02:16.760 Mas se o contador não exerce papel algum, e você só quer fazer algo a todo elemento dentro do array... 0:02:16.760,0:02:17.820 isso é uma das coisas que se pode fazer. 0:02:17.860,0:02:21.960 Agora, o que eu não gosto nisso e isso é... faço isso o tempo todo e vários programadores fazem isso... é: 0:02:22.000,0:02:24.100 - Eu tenho uma classe chamada "Bubble" (Bolha)... 0:02:24.100,0:02:27.860 com B maiúsculo... aqui embaixo, heh... 0:02:28.040,0:02:31.000 eu tenho um array chamado "bubbles" (bolhas), com B minúsculo... 0:02:31.080,0:02:33.760 com um s no final; plural porque são várias... 0:02:33.840,0:02:38.860 e aí eu tenho "bubble" (bolha) que é tipo uma bolha individual que representa toda bolha dentro do array. 0:02:38.860,0:02:41.700 Então... eu só queria enfatizar que isso poderia simplesmente ser chamado de, sabe... 0:02:41.820,0:02:45.940 se o nome das bolhas fosse... uh... "unicorn" (unicórnio) 0:02:46.020,0:02:51.140 Isso é só um nome inventado de variável; é a palavra que representa cada elemento dentro do array. 0:02:51.140,0:02:52.440 E então, tipo, eu poderia dizer: 0:02:52.480,0:02:55.700 "let elt of bubbles" (cada elemento de bubbles), por exemplo... sabe... 0:02:55.880,0:02:59.580 Mas isso é tipo uma convenção a qual eu poderia aderir. 0:02:59.720,0:03:02.880 A classe, o tipo de coisa, é Bolha com B maiúsculo... 0:03:02.960,0:03:05.860 quando eu tenho um array delas, eu vou chamá-lo de bolhas (b minúsculo), com um "s"... 0:03:05.860,0:03:07.800 quando eu tenho uma individual vou chamá-la de bolha (b minúsculo)... 0:03:07.940,0:03:10.340 mas não há razão alguma pela qual você deve nomear as coisas dessa forma. 0:03:10.340,0:03:12.240 Eu poderia chamá-las de BubbleClass (ClasseBolha)... 0:03:12.280,0:03:15.280 SingleBubble (BolhaIndividual), BubbleArray (ConjuntoBolha)... esse tipo de coisa. 0:03:15.360,0:03:21.780 Então basicamente é isso... eu vou usar esse tipo de loop em outros vídeos... 0:03:21.920,0:03:24.520 e aí acho que eu poderei usar esse como referência, quando for gravar os próximos. 0:03:24.520,0:03:26.320 Espero que isso tenha feito sentido. 0:03:27.500,0:03:29.720 Estou olhando pros lados pra ver se vocês têm alguma pergunta... 0:03:30.280,0:03:33.460 mas vocês estão no futuro, eu nem mesmo sei quem vocês que estão assistindo esse vídeo são... 0:03:33.620,0:03:35.420 mas aí está você, em algum dia, assistindo esse vídeo. 0:03:35.480,0:03:41.120 Eu provavelmente não estou mais em pé aqui, estou em outro lugar... esse vídeo acabou [Dan toca a campainha]