Javascript os conceitos avançados | Jayanta Sarkar | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução ao curso

      1:16

    • 2.

      Tutorial avançado de JavaScript Let & Const variável

      9:18

    • 3.

      Tutorial de cordas de modelo

      9:15

    • 4.

      Tutorial de funções de seta

      6:04

    • 5.

      Tutorial do operador de repouso

      11:09

    • 6.

      Tutorial do operador de spread

      10:12

    • 7.

      Tutorial de literais de objetos

      8:52

    • 8.

      Tutorial de desestruturação

      10:18

    • 9.

      Destruição de objetos em javascript

      3:33

    • 10.

      Introdução

      6:09

    • 11.

      Programação orientada a objetos prática

      9:10

    • 12.

      herança

      6:43

    • 13.

      Herança prática

      16:19

    • 14.

      Introdução ao módulo Js

      4:18

    • 15.

      Tutorial avançado de módulos de Javascript

      11:37

    • 16.

      Tutorial avançado de módulos de Javascript 2

      5:41

    • 17.

      JavaScript avançado: tutorial de promessa

      6:43

    • 18.

      Método de promessa em Javascript

      9:57

    • 19.

      Prometa tudo

      14:36

    • 20.

      Introdução ao Ajax

      10:13

    • 21.

      JavaScript avançado: tutorial do Ajax

      10:23

    • 22.

      Introdução ao Json

      7:24

    • 23.

      Json prático

      8:32

    • 24.

      Introdução à api de busca

      4:37

    • 25.

      API de busca

      11:35

    • 26.

      inserir dados usando a API da fetch

      5:27

    • 27.

      Introdução assíncrona

      1:58

    • 28.

      Tutorial assíncrono

      3:11

    • 29.

      Aguarde a introdução

      2:26

    • 30.

      Aguarde o tutorial

      11:25

    • 31.

      Introdução avançada de símbolos JavaScript

      2:40

    • 32.

      Símbolos, parte 1

      4:24

    • 33.

      Símbolos, parte 2

      6:42

    • 34.

      Introdução de iteradores

      2:22

    • 35.

      Iteradores de JavaScript

      8:17

    • 36.

      Iteradores de JavaScript

      5:38

    • 37.

      Introdução aos geradores

      2:22

    • 38.

      Tutorial de geradores

      15:25

    • 39.

      Modo restrito

      7:47

    • 40.

      Tutorial de manipulação de erros

      16:25

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

8

Estudantes

--

Projeto

Sobre este curso

Leve suas habilidades em JavaScript para o próximo nível com este abrangente curso avançado em JavaScript! Neste curso, você vai mergulhar nos conceitos modernos de JavaScript, explorando as funcionalidades mais poderosas da linguagem e como usá-las de forma eficaz em projetos reais. Vamos abordar tópicos avançados como sintaxe do ES6+, programação assíncrona, closures, protótipos e os meandros da arquitetura orientada a eventos do JavaScript.

Por meio de exercícios práticos de codificação e projetos interativos, você vai ganhar experiência na otimização de seu código com técnicas avançadas, na manipulação de matizes com funções de seta e no aproveitamento do poder das capacidades orientadas a objetos do JavaScript. Quer você seja um desenvolvedor web que quer aprimorar suas habilidades ou um entusiasta de JavaScript que busca maestria, este curso vai equipar você com as ferramentas para escrever código eficiente, limpo e escalável.

Ao final deste curso, você poderá aplicar com confiança técnicas avançadas de JavaScript para resolver desafios complexos de codificação e criar aplicativos web dinâmicos e interativos.

Conheça seu professor

Teacher Profile Image

Jayanta Sarkar

full stack web developer and Python prog

Professor

Jayanta Sarkar is a dedicated Python programmer and full-stack web developer with a passion for creating dynamic and interactive web applications. With a robust background in both front-end and back-end development, Jayanta excels in building seamless user experiences and efficient, scalable systems.

Over the years, Jayanta has honed his skills in various programming languages and frameworks, making him proficient in technologies such as JavaScript, CSS, HTML, and MySQL. His expertise extends to developing comprehensive solutions that integrate sophisticated database management with intuitive user interfaces.

Jayanta's journey in the tech industry is marked by a continuous drive to learn and adapt to new technologies. He has developed and published several successful cours... Visualizar o perfil completo

Level: Intermediate

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução ao curso: Olá e bem-vindo à classe de script Advanced Dava. Meu nome é Join the short car. Sou desenvolvedor de Ft Wave e instrutor on-line. Hoje, nesta aula, vamos começar o Javascript avançado. Vamos começar com a introdução. Introdução avançada ao script Dava. Em seguida, aprenderemos a variável tardia e de custo. Vamos aprender Java p avançado, método tempest sing, função de seta, operador sk, operador spray, eterais de objetos, desestruturação de matriz, desestruturação de objetos, orientada a objetos Assim, em alturas, promessas modernas, prometem AX, também KPI regular O símbolo do método assíncrono gular, iteradores, geradores, syncmt, Atlas gar, Este curso é para aqueles dois abdominais que desejam aprimorar suas habilidades em Javascript. Se você quiser aprender uma estrutura moderna de Javascript, como gs , reas, angular, este curso é baseado em formulários. Nesta aula, tento abordar A seis e a versão posterior do JavaScript. Vamos começar. 2. Tutorial avançado de JavaScript Let & Const variável: Olá, pessoal, é bom ver vocês de volta. Este é o primeiro tutorial desta série. Vamos começar nossa jornada avançada de faixas de Java partir das variáveis Late e const O Java Striped tap totaliza três tipos de variáveis. Primeiro é onde, depois tarde e depois const. Ícone latino introduzido na versão Java slip e six. O principal é que foi introduzido na versão de 2015. Agora, vamos ver qual é a diferença entre três tipos de variáveis. A primeira diferença entre todas as variáveis de tipo é esse método de declaração. Vamos ver a diferença de onde precisamos empatar Q e, em seguida, precisamos usar o nome da variável igual a then v. Da mesma forma, para mais tarde, precisamos digitar late. Em seguida, precisamos passar a linha variável. Para o custo, precisamos usar o custo Qd. Em seguida, precisamos passar a linha variável. Podemos redeclarar variáveis. Aqui você pode ver, aqui nós redeclaramos a variável x novamente. Se usarmos kw, podemos redeclarar nossa variável e atribuir um novo valor a essas variáveis x. Também podemos reatribuir o valor se usarmos kw. Agora, nosso valor x é. Agora, se imprimirmos esse valor, ele retornará. No caso de podermos reatribuir o valor, redeclare também Mas no caso da lâmina, não podemos redeclarar a variável Se você fizer isso, ele retornará um erro. Mas podemos reatribuir o valor se usarmos a palavra-chave let. Mas não podemos redeclarar o valor. Agora, vamos falar sobre o tipo de variável de custo. No tipo de variável de custo, não podemos redeclarar nossa Se o fizermos, retornará o erro. Além disso, não podemos reatribuir nosso V. Além disso, ele retornará o erro I do it Essa é a principal diferença entre três tipos de variáveis. Atrasado e constante. No caso de, podemos reatribuir e redeclarar Em caso de atraso, apenas reatribuímos, não redeclaramos. Mas no caso do passado, não podemos redeclarar e também não podemos E há outra diferença entre eles, que é o escopo relacionado. Deixe-me te mostrar. Se falarmos sobre o primeiro caso, quero dizer onde devo usar uma condição HP e, dentro dessa condição, vou declarar uma variável usando QR Se eu tentar imprimir esse valor fora da condição p, sim, podemos, porque esse é um escopo global. Podemos imprimir essa variável fora da condição p. Além disso, podemos redeclará-lo e também podemos realizar cálculos fora da condição ep É por isso que é chamado de escopo global. Da mesma forma, dentro da condição P, se declararmos uma variável usando let QR, então não podemos imprimir essa variável fora da condição P porque esse é o escopo do bloco Isso significa que só funciona dentro do bloco. Blocos significam os estojos do carro. Só podemos usar essa variável dentro dos conjuntos do carro, não fora dos conjuntos do carro. Aqui podemos imprimir o valor. Também podemos reatribuir a vitela. Mas não podemos redeclarar isso. Podemos usá-lo com condições, loop, switches, while loop, mas precisamos apenas de um escopo de bloco para isso. Da mesma forma, dentro da condição ip, se declararmos uma variável usando a palavra-chave const e tentarmos imprimi-la fora do bloco , ele lançará uma seta porque também é um escopo de bloco Portanto, a constante Q também segue o escopo do bloco. Vamos dar uma olhada prática no que aprendemos. Como você pode ver, lado a lado, abro meu visor, editor de código Sudo e meu navegador usando a extensão Live Server Eu já criei um melhor nome de documento, índice, ponto de índice, HTML. Você pode usar qualquer editor de código com o qual esteja familiarizado. Aqui eu vou usar o Visor Studio Code. Como você pode ver dentro da tag de cabeçalho, já digitamos a tag de script Então, dentro da tag do script, primeiro, vou declarar uma variável usando onde Q. W e nossa variável M são A, A, atribuem w, e ele deve atribuir um valor de string, e o valor da string é adicionar um e Semgra dois nesta Além disso, vou redeclarar o v. Então, vou duplicar essa linha e, novamente, vou passar uma nova string Mage add one mage Agora, vamos imprimir o valor em nosso console. Além disso, você pode imprimir o valor em seu documento. Para esse tipo de Amon, console, o registro dentro da prensa redonda, vou passar A, o nome da nossa variável Em seguida, a poluição atmosférica entra nesta linha. Se eu configurar esse arquivo e voltar ao navegador e mostrar meu console para mostrar seu console, basta clicar, basta pressionar o botão direito do mouse no seu navegador. Em seguida, você pode ver a seção de inspeção e clicar no peito do pé Aqui você pode ver a seção do console, a guia do console, clique na guia do console. Agora vou aumentar o tamanho do console. Como você pode ver, ele imprime Mg e não focaliza essas duas linhas. Eles vieram da minha extensão, minha extensão JCNer. Aqui, redeclaramos a variável com sucesso. Com isso, também podemos reatribuir vi. Deixe-me te mostrar. Hm tipo A igual a é que as aspas duplas, am pass, a string, e Ham pass, são bem-vindos. Então, vamos salvar o arquivo e ver o que ele tratou. Como você pode ver pessoalmente o arquivo, você pode ver meu console, desta vez ele imprime, bem-vindo. Como eu disse, podemos redeclarar e reatribuir nosso valor se usarmos Agora vou usar a palavra-chave late para declarar uma variável. Aqui eu digito tarde. Além disso, vou redeclarar isso com atraso. E eu vou comentar essa linha. definir esse arquivo, como você pode ver, é uma seta, erro de sintaxe Porque não podemos redeclarar nossa variável se usarmos a palavra-chave late Mas podemos reatribuir nosso valor. Se eu comentar esta linha, remover os comentários, reatribuir o valor e definir o arquivo, agora você poderá vê-lo impresso, bem-vindo Porque ect nos permite reatribuir, não ler. Mas se usarmos uma palavra-chave constante. Cs, e neste arquivo, agora você pode ver que está escrito como uma seta porque os cons não permitem a redeclaração, além de não permitir a reatribuição É por isso que é erro de Sten. Agora, como eu disse, há outra diferença entre todas essas variáveis, relacionada ao seu escopo. Deixe-me mostrar o exemplo. Para isso, vou usar uma condição. Se estiver dentro do processo redondo, vou criar uma condição e nossa condição é sempre verdadeira. Um igual a um. Então, dentro da condição e, Hamod atribui uma variável usando um A igual a 12 Desta vez, atribuo um numérico. Se eu definir esse arquivo, como você pode ver no meu console, ele está escrito 12. Se você perceber que pode ver, nós apenas declaramos a variável dentro desse dock, ou seja, dentro dos casos Mas chamamos essa variável fora dos casos. Quero dizer, fora do quarteirão. Mas se eu usar a variável let type date, igual a 12, e se eu quiser excedê-la fora do bloco e definir esse arquivo, como você pode ver, é seta de estilo Referência sem cortes, A não está definido. Mas se eu tentar excedê-la, dentro do ponto do documento em bloco logo dentro do processo redondo, vou passar a variável A. Então sete c dois, essa linha. Se eu definir esse arquivo, agora você pode ver na rotação do meu navegador, imprimir o valor para a. Porque, como eu disse, vamos seguir o escopo do bloco Da mesma forma, se usarmos a palavra-chave st para declarar a variável, custaremos A igual a 12 e, em seguida, definirmos esse arquivo, como você pode ver, é o mesmo resultado Como você pode ver, podemos excedê-lo dentro da doca. É por isso que ele imprime 12 em nosso navegador, mas não podemos excedê-lo fora do dock. É por isso que nosso console escreveu um erro porque o custo também segue o escopo do bloco. Mas se declararmos com variável where e esta se for o arquivo, agora você pode ver nosso navegador e nosso cosol retornarem o mesmo resultado Essa é a diferença entre as duas variáveis, custo e atraso. Obrigado por assistir a este vídeo, aguarde nosso próximo tutorial. No próximo tutorial, aprenderemos o fluxo de modelos. 3. Tutorial de cordas de modelo: Olá pessoal, é bom ver vocês de volta. Este é o terceiro tutorial relacionado à velocidade avançada do Java. Neste tutorial, aprenderemos a caracteres do modelo ou a repetição do modelo Esse recurso está introduzindo o Java speed em seis versões. Alguns outros desenvolvedores chamam isso de modelo literal. Antes do lançamento da string do modelo, usamos o sinal concatinal para unir as strings. Deixe-me mostrar. Suponha que peguemos uma variável de string e o valor seja adicionar um meg e nossa variável m seja Name Além disso, você pode pegar qualquer número. Agora eu quero usar esse valor de string com outra string. Basicamente, eu quero concatenar duas strings. Para isso, usamos o sinal concatinal. Suponha que um endereço seja igual à Índia mais nossa variável m. Esse sinal de concatenação unirá ambas as cadeias Essa é a maneira normal de unir duas strings, caso contrário, duas variáveis. Mas o problema é que, suponha que temos muitas variáveis e precisamos consagrar essa variável em uma única string Para isso, toda vez que precisamos usar o sinal de concatenação. Com isso, também precisamos usar códigos para unir a string, e isso tornará nosso cote muito complexo. Para resolver esse problema, o JavaScript introduz a string do modelo. Agora, vamos fazer a mesma coisa usando a string de modelo e isso tornará nosso cote mais eficiente. Eu crio o mesmo nome de variável com o mesmo. Agora eu quero consagrar essa variável em uma string. Mas desta vez vou usar uma string de modelo, algo parecido. Um endereço igual a querer usar barras. São morcegos. Dentro dos morcegos, vou passar a corda Por engano, eu digito o sinal duplo. Então você precisa usar o cifrão. Então, dentro das calibrações, passaremos a variável Lembre-se de que esse sinal especial não é uma citação. Tudo isso é bata, e você pode encontrá-lo acima da guia do seu Kibo Você precisa usar o bata iniciando uma posição final. E então você pode passar sua string normal. Se você quiser chamar qualquer variável para isso, você precisa usar o cifrão. Depois disso, você precisa usar calibrações. Dentro da classe, você pode chamar sua variável e ela juntará duas strings Você precisaria usar um sinal concreto para isso. Se você tiver várias variáveis, basta digitar o cifrão e, dentro da calrass, passar as Sem perder seu tempo, vamos começar a prática e ver como podemos usá-la Como você pode ver, lado a lado, abro meu editor de código visa stdio e meu navegador usando a extensão de servidor Light, e já crio um documento de estimativa chamado Idexot este chamado Idexot Primeiro, vou declarar uma variável. Para isso, vou usar late late e nosso usuário de imagem variável. O usuário atribui com dentro do código duplo, e eu vou passar uma string, e eu vou passar um nome, e o nome é adicionar um mago. Então, semelhante a essa linha. Agora eu quero imprimir esse nome em nosso navegador. Para isso, vou digitar domain dot right e dizer que o processo redondo com o nome, quero imprimir uma string. Primeiro, vou seguir nosso método antigo. Se eu disser o caso duplo, eu vou passar olá. Em seguida, vou usar o sinal de concatenação para unir a string com o usuário e H vou passar o nome da variável Cante dois desta linha. Depois de definir este arquivo, como você pode ver no meu navegador, como você pode ver no meu navegador, string, olá Edvard M. Agora eu decido que quero adicionar outra Para isso, novamente, precisamos usar o sinal de concatenação. Em seguida, insira o curso duplo. Vou digitar bem-vindo. Depois de usar este arquivo, como você pode ver, imprima, olá e significa, bem-vindo. Toda vez que precisamos adicionar uma congregação para entrar nos riachos Eu faço nosso código muito complexo. Agora vou usar esse segundo mapa, que é uma string de modelo. Vou comentar essa linha. Primeiro, vou remover o conteúdo antigo e usar marcações invertidas. Então, dentro dos carrapatos traseiros, eu vou dizer olá Então eu quero chamar a variável. Para isso, como eu disse, precisamos usar o sinal do doador Então, dentro do recesso encaracolado, precisamos passar a variável n, que é usuário usuário Então eu quero concatenar outra rua, o que Se eu definir esse arquivo, como você pode ver, podemos ver o mesmo resultado no meu navegador, e isso é muito simples e prático. Agora eu quero adicionar outra variável na mesma string. Como podemos fazer isso? Primeiro, vou declarar outra variável Atrasado e nossa variável são marcas. Marcar igual a adicionar um obteve um total de 350 marcas. Agora vou mudar o bit da string. Olá, adicione um para você Mark is Again, precisamos usar dolar sine e car ss Dentro do carro ***, precisamos passar a variável, Mark. Defina os cinco. Depois de definir esse arquivo, você pode ver o resultado. Quão avançada, sua marca é 350. Há outro benefício se usarmos a string de modelo. Suponha que agora eu decida que quero mostrar o nome do usuário dentro dos códigos duplos. Sim. Agora podemos usar códigos duplos. Aqui, vou usar códigos duplos. Fora da variável. Se eu definir esse arquivo, como você pode ver no meu navegador, agora o nome do usuário vem dentro dos códigos duplos e agora vou usar a string temporária em uma função Primeiro, vou comentar toda essa seção e depois declarar uma variável, late, e o nome da nossa variável é o primeiro nome Primeiro nome igual a, e o nome de usuário é d one. Além disso, vou usar outro nome, que é o sobrenome. Atrasado. Sobrenome Asen mage Vamos capitalizar um caractere em letra maiúscula. Agora vou usar essas duas tabelas em uma função. Para isso, vou criar uma função. Função, e o nome da nossa função é nome completo. Nome completo dentro do recesso redondo, ele precisa passar para nossos dois parâmetros, e nosso primeiro nome de parâmetro é F name, e nosso segundo nome de parâmetro é A Name Em seguida, dentro do recesso c. Vou devolver o nome completo e quero retornar o nome e o sobrenome. Vou digitar a função escrita return e vou usar backticks. Em seguida, dentro das tachas traseiras. Primeiro, quero imprimir o primeiro nome. Símbolo de dólar dentro do nome da classe A. Em seguida, cifrão dentro das caixas Lam e 72 nesta linha Agora vou criar uma variável, que armazenará um fluxo. Para isso, vou usar ate, e nossa variável ae é hello. Igual a, novamente, usar templr. tipo dela, olá, então o cifrão dentro do crass, ele chamou uma função, e o nome da função é nome completo Então, dentro do latão redondo, ele passou de dois argmin porque estamos chamando uma função, e nossa primeira variável é o primeiro nome, e nossa segunda variável é sobrenome e Sebagal duas Agora, quero imprimir essa variável em nosso Então, digite o documento diretamente nas rodadas hemo e chame o nome da variável hello Se eu definir esse arquivo, você poderá ver o resultado. Olá e um M. Neste tutorial, aprendemos um novo recurso da versão ES six, que é o fluxo de modelos. Qual é a vantagem de usar o stream de modelos? Isso é tudo para este tutorial. Obrigado por assistir a este vídeo Em nosso próximo tutorial, aprenderemos a função de seta. 4. Tutorial de funções de seta: Ei, pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com outro tutorial relacionado ao script Java avançado. Neste tutorial, vamos aprender a função de seta. Esse recurso é introduzido em JavaScript, e seis versões. Não é uma função nova. É a versão aprimorada da criação de uma função. Agora, vamos ver como podemos criar uma função antes da função de seta. Primeiro, precisamos digitar a função Q, depois precisamos digitar o nome da função. Em seguida, precisamos pegar grama redonda e, dentro das calibragens, podemos passar nosso código Como você pode ver, em nosso diário de consulta, pintamos com uma idade. Esse código não será executado sozinho. Até chamarmos a função, e para chamar a função, só precisamos passar o nome da função. Algo parecido. Da mesma forma, podemos criar uma função como essa. Primeiro, declaramos uma variável no final do nome do nosso caso igual à função Então, dentro das calibragens, podemos passar pelo nosso poste. Esse é o método antigo pelo qual podemos criar funções, e eu sei que você já está familiarizado com isso. Esse tipo de função que usamos antes da versão 6. Mas depois da versão seis, Java strip introduz a função de seta e reduzirá a sintaxe da função Primeiro, precisamos declarar uma variável para a função. No nome do nosso caso. Então, não precisamos amarrar a função QR para criar uma função de seta, apenas para passar bases redondas Então, precisamos usar setas e, para criar setas, precisamos passar z para seno e maior que seno Em seguida, precisamos digitar a lei de pontos do console. Quero dizer, nosso código. Agora você pode ver nossa função se tornar tão compacta. Por causa da função de seta. Convertemos todo o código em uma única linha. Basta usar chaves redondas e seno de seta. Para chamar essa função, basta seguir nosso método antigo, apenas passar o nome da função e as chaves arredondadas Mas se você tiver várias linhas de código, nesse caso, também poderá usar calices Esse tipo de função de seta é muito útil para ler, apontar , caso contrário, angular js Toda estrutura Javascrip moderna segue a função de seta. Sem perder tempo, vamos começar a prática e ver o exemplo das funções das setas Como você pode ver, lado a lado, abro meus apitos no seu código ou no meu navegador usando a extensão Lip Server, e meu navegador usando a extensão Lip Server, já crio um nome de documento STL com pontos de índice STL Vamos criar uma função de seta. Para criar uma função de seta, primeiro precisamos declarar uma variável Atrasado, e nosso eu variável é bem-vindo. Igual a eu defino as corridas redondas e bem-vindo é o nome da nossa função. Eu quero passar um parâmetro para nossa função, como parâmetro, vou pegar o nome, e então precisamos usar o operador de seta para criar a função de seta. Igual a maior que seno. Em seguida, defina o retorno do elenco, retorne. Além disso, vou usar técnicas de retorno. Já aprendemos sobre backtechs em nosso tutorial anterior Quero digitar, olá e bem-vindo. Então eu vou passar o cifrão. Dentro dos casos, vou passar o nome do parâmetro e subcortar dois nesta linha. Esta é uma função de seta muito simples e básica. Agora eu quero chamar essa função de seta. Para chamar essa função de seta, vou digitar o ponto do documento diretamente dentro da prensa redonda Vou chamar a função. Bem-vindo. Então, dentro da rodada ss, teremos que passar o argumento. Como argumento, é bom passar o nome. Então, para digitar em um Mang. E semi para acabar com essa linha. Precisamos passar Advent Mang é um código duplo d porque é uma string Depois de passo este arquivo, como você pode ver no meu navegador, é paint, hello e bem-vindo à uma meg É assim que podemos criar a função de seta. Primeiro, precisamos atribuir um nome de variável para a função e, em seguida, dentro da prensa redonda. Se você quiser passar algum parâmetro sim, você pode, caso contrário, você pode ignorá-lo Em seguida, você precisa usar o operador de seta igual a maior que seno Então, dentro da classe, você pode passar. Aqui usamos o método tempt string para criar essa string, e se eu retornar o tipo dessa variável, ela retornará a função. Deixe-me provar isso. Portanto, para amarrar o console, pontue o log dentro do erro de digitação redondo ses hemo pass Digite e a variável ms, bem-vindo. E Semgal dois nesta linha. Se eu salvá-lo, como você pode ver, no meu caixa ele imprime, é uma função Agora vou reduzir o tamanho dessa função de seta. Eu vou fazer disso um forro. Primeiro, vou remover as chaves c. E depois também vou remover a escrita. Sim, podemos remover a chave escrita, se usarmos um forro. Se usarmos apenas um parâmetro em nossa função, nesse caso, também podemos reduzir as chaves redondas Se definirmos esse arquivo, como você pode ver, ele gravará o mesmo resultado. Não há mudanças. Lembre-se de que essa técnica só funciona se usarmos um forro. Isso é tudo para este tutorial. No próximo tutorial, aprenderemos o operador rest. Obrigado por assistir a este vídeo, afirmo. 5. Tutorial do operador de repouso: Olá pessoal, é bom ver vocês de volta. Este é outro tutorial relacionado à faixa adversa de Java. Neste tutorial, aprenderemos o operador rest. Operador Rest introduzido no Java Script es six version. Antes de entendermos o operador rest, precisamos entender a função com vários argu operador rest foi introduzido para resolver o problema relacionado ao argu Deixe-me mostrar o problema. Suponha que H criemos um nome de função, e ele servirá como numérico v. Então eu vou imprimir esse valor no meu console Sempre que eu chamo essa função como parâmetro, precisamos passar o valor total de dois. No nosso caso, 2030. Essa função vai funcionar perfeitamente. Mas o que? Se passarmos um total de três parâmetros, caso contrário, quatro parâmetros. Se passarmos mais de dois valores , essa função não realizará esse cálculo, gerará um erro porque criamos essa função para adicionar apenas dois números. Antes da versão seis, o Java step já fornecia uma solução, qual precisamos criar uma função. Então, precisamos usar uma função in, que é argumentos, e precisamos usá-la com 44 no argumento. Essa função de argumento vai criar um objeto. Se passarmos o valor total de dois , usar dois valores criará um objeto, mesma forma para três e da mesma forma para quatro valores. Como você sabe, para imprimir o objeto, precisamos usar um loop externo. Mas, no nosso caso, quero retornar esse valor de soma desses quatro argumentos. Para isso, aqui eu preciso declarar uma variável. O final S era zero. Como você sabe, nosso log externo será executado para cada valor do objeto de argumento. Se passarmos três valores , isso será executado por três vezes. Para isso, toda vez precisamos agregar novo valor ao valor de algum. S mais igual aos argumentos e defina o processo quadrado, precisamos passar o número do índice desse objeto. Então, finalmente, precisamos imprimir o valor da soma. Eu sei que você já está familiarizado com esse processo. Esse é o método mais antigo pelo qual podemos alcançar o resultado. Essa função vai funcionar perfeitamente. Mas o que? Se passarmos qualquer valor de string em nosso argumento, suponha que eu passe um valor de string em nosso primeiro parâmetro. Mas nossos outros dois valores são neweric v. Desta vez, quero adicionar esses dois valores, mas quero deixar nossa string v. Como você sabe, não podemos somar o valor da string com o valor numérico Da mesma forma, se passarmos outros valores múltiplos. Nesse caso, essa função não funcionará corretamente para resolver esse tipo de problema, seis versões introduzem o operador rest. No operador de repouso, movemos valor não utilizado em outra variável, e o valor restante, exceto este, armazenamos em outra variável e transformamos essa variável em uma matriz, algo parecido Aqui você pode ver em alguma função que tomamos um total de dois parâmetros. Nosso primeiro parâmetro é nome. Ele armazenará o primeiro valor da string nessa variável. Então você pode ver um total de três pontos. Três pontos significam operador de repouso. Como pegamos uma variável, rs, e você pode pegar qualquer variável. É um PU, uma discussão maldosa. Quero dizer o resto dos argumentos, exceto o primeiro. Exceto o primeiro, ele armazenará todo o valor desse argumento, e esse r se tornará um anúncio, e esse processo é chamado de operador rest. Agora, precisamos usar palavras estrangeiras apenas para esse argumento. Quero dizer esse exército, algo assim. Ele ganhou um combustível para mais tarde em RNs. Significa todos os itens desta área. Se quisermos somar esse argumento, precisamos seguir o mesmo processo. Primeiro, precisamos declarar uma variável. Soma tardia, atribua zero. Em seguida, soma mais igual a RTS dentro do processo quadrado, precisamos passar o número do índice Em seguida, podemos imprimir esse valor em nosso documento caso contrário. Se quisermos usar o nome, sim, podemos. Podemos usar o nome. Caso contrário, podemos imprimir o nome de forma diferente. Com o valor da soma, quero imprimir o nome. Para isso, chame o log dentro do recesso redondo, podemos usar essa variável Então, agora você entende o problema. Por que usamos o operador rest. Sem perder tempo, vamos começar a prática e aprendê-la em detalhes Como você pode ver lado a lado, abro meu leitor de código Visa Studio e meu navegador usando a extensão Live Server e já criei um ponto de índice de nome de documento estimado, ATML Primeiro, dentro da tag do script, vou criar uma função. Para isso, precisamos usar a função curada. Função, e o nome da nossa função é soma. Em seguida, corridas redondas. Em seguida, dentro da grossa. Por enquanto, vou deixar em branco. Então, fora do carro, eu quero chamar essa função Eu quero digitar alguns. Então, dentro das corridas redondas, aqui vou ultrapassar um total de três braços. Todos esses são valores numéricos, 20 e 40. Novamente, vou duplicar essa linha e, desta vez, vou passar um total de quatro argumentos Fi. Agora eu decido que quero passar um valor de string como R. Aqui vou digitar um nome, um valor de string, e o valor da string é adicionar um Mane. Dentro do código duplo, vou digitar add one g. Da mesma forma, quero adicionar um valor de string aqui, e aqui vou passar um nome e o nome é Step Sm. E eu vou configurar esse arquivo. Agora eu quero armazenar o primeiro argumento em uma variável diferente e resto do argumento em uma variável diferente. Para isso, precisamos usar o operador rest. Para o nome, vou criar uma variável e a variável é nome. Em seguida, precisamos usar o operador rest. Como eu disse para você usar o operador rest, precisamos usar três D. Quero dizer, o operador rest, e para o resto do argumento, vou pegar uma variável me, e a variável é total. Essa pirâmide de nomes armazenará o primeiro argumento. Para o resto dos argumentos numéricos, vou usar a variável total. É uma matriz. Agora, em nossa função, com o nome do aluno, quero imprimir o total. Primeiro, vou calcular o total. Para calcular o total, precisamos declarar uma variável Coloque isso, e o nome da nossa variável é sum. Soma como se fosse zero. Vou confundir a variável limp com a É por isso que vou usar um em capital. Soma tardia igual a zero. Então eu vou usar a névoa em loop. Pois dentro do latão redondo, eu no total Essas quatro baixas serão executadas no total de três vezes, porque elas passam o valor total de três na variável total. Da mesma forma, na próxima vez, será executado por quatro vezes, porque Herr passa o valor total de quatro Então ele definiu os quatro, eu vou incrementar o valor da soma Então, vou digitar soma mais igual ao total, definir a resolução quadrada e selar essa linha. Ele retornará o total e agora eu quero imprimir o nome do aluno com o total. Para isso, digite um ponto de documento do tipo hemo logo dentro do recesso redondo, vou usar chás para as costas Aqui eu vou usar, digite o método string. Então, dentro do chá traseiro, vou digitar o total do cifrão Crass, vou passar o nome desse aluno N. Eu chamo o nome de variável. E é. Novamente, vou usar o cifrão, e dentro das rasas de Cali, desta vez, vou chamar o total, significa S, e Segal dois nesta linha Aqui passamos o nome, que passa como argumento. Agora, se eu definir esse arquivo, como você pode ver no meu navegador, ele está no resultado. Mas aqui precisamos usar uma tag BA. Vou usar o sinal de concatenação e, dentro do duplo, vou usar a tag BA Se eu definir esse arquivo novamente, você poderá ver o resultado. O total de ad M é 90 e o total de passos Smith é 140. Se você quiser passar outro argumento de string nessa função, sim, você pode. Você pode passar vários argumentos. É um PU. Hm deve usar coma e between the Ham para passar o nome da faculdade. Av é da AIT e Smith é profissional de TI. Agora, precisamos armazenar os dois argumentos em uma variável diferente. Para Advan Mang, vou salvá-lo em uma variável de nome e, para o MIT, vou salvá-lo em uma variável de faculdade D. Eu decido que quero imprimir o nome da faculdade com o total. tipo dela, o total de Advang, é depois imprimir novamente o espaço do tipo Hal, vou usar o estilo Dollar na faculdade de Cali Se eu definir esse arquivo, você poderá ver o resultado. O número total de anúncios um é 19 do MI. Agora está claro para você qual é o uso do operador de descanso e como ele funciona. Agora a questão é: a água é matéria em repouso, operador? Sim, é importante. Se trocarmos a água do operador de descanso, deixe-me mostrar, então eu corto e vou usar o operador de descanso como primeiro parâmetro. Se eu definir esse arquivo, como você pode ver no meu console, vou escrever uma sintaxe O, Uncut O parâmetro Rest deve ser o último parâmetro formal. Não podemos usar o operador de descanso na posição inicial. Preciso colocá-lo na última posição do parâmetro. Em seguida, precisa funcionar perfeitamente. Caso contrário, não vai funcionar. Então, isso é tudo para este tutorial. No próximo tutorial, aprenderemos o operador de pulverização. Obrigado por assistir a este vídeo , aguarde o próximo tutorial. 6. Tutorial do operador de spread: Olá, pessoal. É bom ver você de volta. Mais uma vez, estou de volta com um novo tutorial relacionado ao sono avançado do Java. Neste teste, aprenderemos o operador de propagação. Em nossos tutoriais anteriores, aprenderemos sobre o operador de descanso Este tópico é bastante semelhante ao operador rest. Neste exemplo, aprendemos como podemos enviar um valor de string com isso. Além disso, podemos definir o valor numérico e realizar o cálculo. No operador de repouso, passamos vários valores numéricos. O operador Rest basicamente converte esse valor em uma matriz. Agora, essa situação é diferente. Agora, não passamos o valor numérico como argumento. Nós o armazenamos em uma matriz e agora eu decido que quero passar essa matriz como argumento. Não são os números, algo assim. Primeiro, quero passar o valor da string, depois quero passar a matriz. Mas se eu enviar esse valor numérico como uma matriz , no nosso caso, esses Rs não realizarão o cálculo porque operador rest sempre espera que passemos vários argumentos Mas passamos um r. e ele diz um único argumento. Um variador. Mas é o valor da matriz de histórias. Agora, vamos assumir que todo o valor é um valor único. Para resolver esse problema, o Javascript introduz o operador de pulverização. Agora, como é, sempre que chamamos a função e passamos o valor da matriz como argumento, precisamos usar três senos antes do nome da matriz No nosso caso, faça array. Basicamente, esse operador de propagação pulverizará essa matriz. E então ele passa todo o valor como argumento. Em seguida, nosso operador restante manipula todos os argumentos e os converte em uma matriz novamente. Este é o uso básico do operador de pulverização. Basicamente, ele espalha a matriz e converte o valor da matriz em um argumento múltiplo. Só uma coisa que você precisa lembrar. Sempre que chamamos uma função e passamos um valor de matriz e antes da rave usamos três senos, chamamos isso de operador de spray operador de pulverização é usado somente quando chamamos a função, e o operador de repouso é usado somente quando criamos a função. Essa é a diferença básica entre operador de repouso e o operador de pulverização, e há muito uso do operador de pulverização. Vamos aprender isso em uma sessão prática. Sem perder seu tempo, vamos começar pela prática. Como você pode ver, lado a lado, abro meu editor de código do Visual Studio e meu navegador usando a extensão life Server e abro meu documento estável anterior Em nosso tutorial anterior, aprenderemos o operador rest. Como você pode ver, sempre que chamamos a função, precisamos passar vários argumentos numéricos para calcular o valor da soma Agora eu decido que quero começar o valor numérico em uma área. Para isso, vou criar uma variável. Atrasado e nossa variável m é número. Um novo m igual a dentro do processo quadrado, eu vou passar o valor. Alguns cortam o valor e eu vou colar aqui. Agora, a variável numérica se torna uma matriz. Agora, decido que quero enviar essa matriz como argumento. Alguns digitam a linha variável. Agora, e eu vou configurar esse arquivo. Após a etapa deste arquivo, como você pode ver no meu Bowser, ele não está funcionando Ele imprime a matriz exata como uma string. Ele não executa nenhum cálculo. Agora vou usar o operador spread para espalhar o vdu e enviar como argumento Para isso, como eu disse, precisamos usar ponto antes da variável eu. Se eu acessar este arquivo, desta vez você poderá ver o total de adv Mines 90 do Agora está funcionando perfeitamente. Esse é um dos melhores usos do operador estadual. Deixe-me mostrar outro exemplo com console. Para isso, vou comentar toda essa linha. Além disso, vou remover este. Agora, quero imprimir essa matriz no meu console. Então, vou digitar o log de pontos do console dentro do processo redondo ou a variável m é numerada e semicon dois nesta linha Após a etapa deste arquivo, como você pode ver no meu console, ele é uma matriz, e tem um total de três, ou seja total de três v. 20, 30 e 40. Mas se eu usar o operador de propagação e, em seguida, definir esse arquivo. Agora você pode ver que não é mais uma matriz. Todos esses são valores diferentes. Mas se eu usar base quadrada, fora da variável, e depois definir esse arquivo novamente. Agora você pode ver novamente, ele se torna um n. Deixe-me mostrar outro exemplo. Agora, esse é o número um. A variável número um é uma matriz. Então eu quero escolher esta linha, e esta é a número dois, e a número dois é a variável número um, número um Se eu pintar o número dois no meu console, e esse conjunto, esse arquivo, como você pode ver, é a matriz. Basicamente, eu clono o número um e armazeno a variável número dois Agora eu quero adicionar outro valor em nossa matriz um, significa número um. Vou digitar a função num one p. Empurre para dentro da bunda redonda, eu vou passar dos 50. E eu não tenho dois nesta linha. Depois de definir esse arquivo, como você pode ver, em nosso console, ele adiciona 50 em nosso número à variável Porque a variável número dois é uma matriz clo up numérica um. Agora, no número dois, vou espalhar os valores da matriz. Aqui, vou usar três d. Além disso, vou movê-los em um quadrado ss. E eu vou configurar esse arquivo. Desta vez, você pode ver que ele não pressiona 50 na variável numérica dois. Depois de usar o operador de pulverização, ele faz uma cópia pela primeira vez, mas não é a variável número um. É por isso que desta vez, 50 não está colocando esse erro como um Além disso, usando o operador de pulverização, podemos errar concretamente. Deixe-me mostrar o exemplo. Primeiro, vou remover essa linha e vou torná-la a número dois, outro arr. W vai armazenar 50, 6078. Isso vai armazenar o total de quatro a, e isso vai armazenar o total de três w. Agora vou criar outra variável. Coloque-o, e nossa variável m é numérica três. Num três, igual a definir o processo quadrado, aqui vou usar o operador spate Eu quero concatenar os dois braços. Use o operador sp. Então digite dot dot dot num. C, eu quero concatenar com o número dois, então digite o ponto E some dois nesta linha. Se eu imprimir o número três em nosso console e, em seguida, definir esse arquivo, como você pode ver no meu console, ele concatenará nossa matriz com sucesso Aqui, não precisamos usar a função concatenar para concatenar a matriz Podemos concatenar usando o operador de pulverização. Além disso, se você quiser agregar mais valor a essa matriz, sim, você pode. Você só precisa usar coma e antes do coma, você precisa passar o v. Eu quero começar essa matriz 100 e essa matriz com uma string. Eu configurei os núcleos duplos para passarem em um. E eu vou configurar esse arquivo. Após a etapa deste arquivo, você pode ver isso. É assim que podemos usar o operador de propagação para concatenação. Além disso, o operador de propagação também trabalha com objetos. Deixe-me te mostrar. Eu vou comentar tudo isso. Aqui eu vou criar um objeto. Nosso primeiro nome de objeto é OBJ, 01, 01 igual para definir as calibrações Aqui, precisamos usar o player de valor chave. Nossa chave é o nome. Nomeie o cólon do cólon com um Mg. Adicione uma meg. Em seguida, vou criar nosso segundo objeto. Vou criar esse objeto, e O segundo nome do objeto é OG dois, e aqui vou usar outro k, que é H 23, e então nesta linha. Vou configurar esse arquivo. Agora vou marchar esses dois objetos usando o operador sp. Vou criar outra variante, aquela OBJ três, OG três igual a inserir o cis is e aqui vou usar o operador de pulverização para marchar OBJ OBJ um, e eu quero entrar em contato nele com o OG dois. Novamente, vou pulverizar o operador, OBJ two. E a Semco nesta linha. Agora, se eu imprimir O V três no meu console, deixe-me mostrar e depois definir esse arquivo, como você pode ver no meu console, agora esses dois objetos criam um objeto de um dedo Em nosso objeto três, temos a propriedade e. É assim que podemos usar o operador de pulverização. Espero que agora esteja claro para você qual é o uso do operador de pulverização. Obrigado por assistir a este vídeo, aguarde o próximo tutorial. 7. Tutorial de literais de objetos: Olá, pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com outra tela Java avançada relacionada ao Tutorial. Neste tutorial, aprenderemos literais de objetos. Se você está familiarizado com o script Java básico, então você já tem conhecimento sobre objetos. Agora, o script Java introduz alguns atalhos em seis versões, dessa forma podemos aprimorar nossos objetos Basicamente, é reduzir a sintaxe do objeto em seis versões. Basicamente, vou dar um total de cinco e quatro exemplos de como podemos usar objetos em seis versões. Deixe-me mostrar o primeiro exemplo. Suponha que temos um nome de variável, e essa variável vai armazenar uma string v em nossa adição de um Mg, e agora eu vou usar essa variável em nosso objeto. Como um valor. Aqui eu crio um objeto e, dentro da classe, pego uma propriedade que é nome e, como valor, chamo a variável nome. Esse é o método mais antigo para criar um objeto. Agora, o atalho é se o nome da variável e o nome da propriedade forem iguais, basta criar um objeto e, apenas uma vez, usar o nome da propriedade No nosso caso, nome. Aqui eu uso o nome da propriedade uma vez porque nosso nome de propriedade e valor é o mesmo. Deixe-me mostrar a você a prática como podemos usar essa mentira real. Como você pode ver, lado a lado, abro meu editor de código do estúdio de usuário e meu navegador usando a extensão light Server, e já criei um ponto de índice de nome de documento estável em Em primeiro lugar, vou criar duas variáveis. Atrasado, e o nome da nossa variável é nome. Nomeie Assign, e eu vou passar uma string well, que é adicionar um Mm. Então, vamos acabar com essa linha. Então eu vou pegar outra variável, e o nome da nossa variável é course. Curso igual a B A. Significa bacharel em r, e agora vou criar um objeto usando essas duas variáveis. Para isso, vou digitar que o nome do nosso objeto é B. Atribuir dentro das calibrações, nosso primeiro nome de propriedade é nomeado Dois pontos e atribuem a variável de nome. Depois disso, nossa segunda propriedade é cos, cos e, para valor, vou atribuir uma variável. Agora vou trazer esse objeto para meu console, então digite console. Registre pontos dentro das rodadas, vou passar o nome do objeto B j e sug two nesta linha Depois de configurar este arquivo, como você pode ver meu console imprime o nome e o curso Agora vou usar o atalho. Isso é introduzido na versão seis do Java Set A. Como eu disse, se o nome da propriedade e o nome do valor forem iguais, poderemos passar apenas o nome da propriedade. Da mesma forma, vou usar esse valor dos cursos. Após a etapa deste arquivo, como você pode ver no meu console, não há alterações. Funciona perfeitamente. Nos bastidores, ele criará uma propriedade de nome também atribuirá a variável de nome como v. Este é o primeiro exemplo de literais de objeto Agora vou mostrar outro exemplo relacionado a literais de objetos Mas primeiro, vou comentar toda essa seção e depois vou escrever alguns códigos novos. Para o próximo exemplo, primeiro, vou criar uma variável. Coloque isso, e o nome da nossa variável é n assu double es string e string names name Configure dois nesta linha. Em seguida, vou criar um objeto, e o nome do nosso objeto é OBJ OB é essa a classe que eu tenho para criar uma propriedade usando essa variável Quero dizer nome. Para isso, não vou digitar essa string. Aqui eu vou chamar a variável. Para usá-lo, precisamos usar o quadrado ***. Isa square ss, vou passar o nome da variável, que é K. Além disso, vou atribuir um valor Vou usar cólon. Cólon. Depois de dois pontos, vou digitar, ou o valor está em um M. Coma, também vou pegar outra propriedade e valor Nossa próxima propriedade é o curso. pontos do curso estão no curso duplo e o nome do nosso curso é B A. Esse recurso foi introduzido na versão ES six Antes da versão E six, não podemos fazer isso. Depois de configurar esse arquivo, como você pode ver no meu console, certamente é o mesmo resultado. Além disso, você também pode realizar cálculos aritméticos com Suponha que agora eu queira alterar o nome da propriedade. Quero definir o nome do aluno. Para isso, podemos usar o sinal de Cctation. Deixe-me te mostrar. Aqui eu quero usar o sinal Cctation antes do nome da variável Dentro dos códigos duplos, vou ser aprovado como estudante. Se eu definir esse arquivo, como você pode ver no meu console, agora é impresso o nome do aluno. Realizamos com sucesso o cálculo aritmético com o nome da nossa propriedade Isso só é possível após a versão. Agora, também se você quiser que exista apenas uma propriedade com nome de estudante, sim, você pode. Só preciso passar o ponto OBJ daqui, eu removo os espaços Tipo de soma: aluno, nome. Se eu definir esse arquivo, você poderá ver o resultado. Como você pode ver no meu console, imprima diretamente adicione um M. Este é o segundo exemplo de litros de objeto. Agora vou mostrar o terceiro exemplo de litros de objetos. Mas antes eu vou comentar esta seção, e depois vou publicar a mesma cópia da minha outra seção. Aqui, depois do coma, vou criar uma função. Defina uma função, vou usar um nome de propriedade, e o nome da nossa propriedade é detalhe. Detalhe dois pontos e, em seguida, Aram para criar uma função. Para isso, usamos a palavra-chave function. Função redonda ss e, dentro do ciss, só vou retornar um valor de string Retorne, então eu vou usar bats porque vamos usar o método t string, e Aramao digite o nome do inscrito Ele se matriculou, então eu vou usar o cifrão. Então, dentro do css, vou passar o nome do curso. Então, para chamar essa variável. C. Como você pode ver, esses núcleos vêm muito bem da propriedade do objeto, não de qualquer outra variável em particular. Para isso, precisamos usar essa palavra-chave porque criamos essa função dentro desse objeto específico. Então, para digitar esse ponto cos. E se eu imprimir detalhes de pontos do objeto, também preciso passar colchetes redondos E então defina esse arquivo. Agora você pode vê-lo impresso, com haste em B. Esse é o método mais antigo em que podemos criar funções em objetos. Em uma versão de seis, podemos reduzir a função. Podemos remover a tecla de função. Além disso, não precisamos desse seno do cólon. Também podemos removê-lo. Se eu definir esse arquivo, como você pode ver no meu Csol, não haverá alterações Isso é tudo para este tutorial. No próximo tutorial, aprenderemos sobre essa matriz estruturante. Obrigado por assistir a este vídeo, afirmo. 8. Tutorial de desestruturação: Ei, pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com um novo tutorial relacionado a scripts Java adversos. Nesta palestra, vamos aprender essa matriz estruturante. Essa matriz estruturante introduzida no script Java, versão seis. Para a versão 6, às vezes precisamos atribuir um valor a uma variável diferente, e esse é um processo muito demorado Deixe-me te mostrar como. Suponha que temos uma variável m como usuário, e nessa variável prod, dois valores são uma matriz, nome e H. Agora eu quero atribuir ambos os valores em uma variável diferente Para isso, precisamos atribuir uma variável no nome do nosso caso e, em seguida, chamar a matriz. Dentro do recesso quadrado, precisamos passar o número do índice da matriz Por nome, eu passo zero. Da mesma forma, para H, precisamos passar um. Como você sabe, nossa matriz começa com índice zero. Mas o que? Se tivermos vários valores em nossa matriz, suponha que tenhamos 100 valores nessa matriz. Em seguida, precisamos digitar várias linhas para lidar com isso. Para reduzir essa quantidade de recursos, script Java introduz uma matriz de desestruturação Agora podemos atribuir o valor em nossa variável dessa forma. Aqui, não precisamos passar nenhum número de índice, precisamos passar o nome da variável. Em seguida, precisamos atribuí-lo com a matriz. No nosso caso, usuário. Então, automaticamente, de acordo com o número de série da variável, ele atribuirá o valor a essa variável. Suponha que esse primeiro valor seja atribuído à primeira variável. Da mesma forma, o segundo valor atribuído à segunda variável. Portanto, não precisamos digitar várias linhas de código para isso. Sem perder seu tempo, vamos começar a prática e ver como podemos usar Como você pode ver, lado a lado, abro meu código do Visual Studio e meu navegador usando a extensão Live Server e já criei um nome de documento STL com o nome de índice de pontos de índice HTML Então, primeiro, vou criar um ar. W vai armazenar o valor total de três? Então, digite Late e nosso Nm é o usuário. usuário AN insere o quadrado ss, precisamos passar o valor total de três para o nosso R. Nosso primeiro valor é nome de usuário, que é adicionar um MM. E nosso segundo valor é H, que é 25, e nosso terceiro valor é Cidade, e ele é de il Então sug para terminar esta linha. Agora, vou usar esse método de estruturação para atribuir o valor da matriz em uma variável. Para isso, precisamos digitar late e, em seguida, nossa matriz. Vou fornecer o nome da variável. A primeira variável é nome. A segunda variável é H, e nossa terceira variável é configuração. E essa matriz, como usuário, e Smog nesta linha Agora eu quero imprimir um nome e um valor c em nosso console. Sim, nós podemos. Então, para digitar o log de pontos do console dentro da prensa redonda, nossa primeira variável me é, Name. Em seguida, semicone dois nesta linha. Então eu vou replicar essa linha no total de duas. Nosso segundo nome de valor é H, e nosso terceiro nome de valor é C. Se eu definir esse arquivo, como vocês veem meu console, ele imprimiu o nome H e City. Mas o que? Se eu remover um valor desse dia, suponha que eu remova o valor da cidade Del. E então defina esse arquivo. No nosso caso, vai manter indefinido. Da mesma forma, se eu remover o segundo valor, o que acontecerá. Vou remover o valor de 25 anos e definir esse arquivo. Depois de definir esse arquivo, como você pode ver, ele também imprime indefinido Além disso, se quisermos definir qualquer valor de difat assim , sim, você pode Suponha que nosso requisito de idade mínima seja 20, alguns para passar dos 20, e eu vou remover 25 do. Se eu definir esse arquivo, agora você pode ver no meu console, H é 20. Mas se eu passar 25 em nossa matriz e depois definir esse arquivo, agora se tornará 25. É assim que podemos usar valores diferentes. Lembre-se de que esse processo não funciona apenas com uma matriz simples. Também funciona com y. Aninhado. Vamos criar uma matriz aninhada nessa variável Depois do nome da cidade, vou usar coma e, novamente, vou usar bases quadradas. Dentro das bases quadradas, vou considerar gênero gênero masculino. Com isso, também vou tomar aipo por $1. Da mesma forma, se você quiser armazená-lo em uma variável, nesse caso, procoma, novamente, você precisa usar ses quadrado, e a primeira variável m é Z. E a segunda variável m é s. Se você quiser imprimi-la em seu console, aqui mesmo, você precisa passar o nome da variável Suponha que eu queira imprimir esse aipo. Eu quero passar o nome da variável. Depois de definir esse arquivo, como você pode ver em um console, ele imprime 1.000. Essa matriz estruturante é um recurso muito especial em Javas Além disso, você também pode usar o operador rest com isso. Deixe-me mostrar como Som duplicar esta linha e comentar a anterior Vou remover H, City e Render Salary, e então ele vou usar o operador de resíduos dot dot g. Então eu quero imprimir g no meu console. Vou comentar esta linha e digitar console dot log gs. E também comente essa linha anterior. A etapa deste arquivo, como você pode ver, agora é impresso, resto dos valores da matriz, H CT e outra matriz. Se eu abrir essa matriz, você pode ver o endl e o aipo. Agora vou mostrar como podemos usar matriz de desestruturação com função Mas antes, vou comentar toda essa linha. Então, primeiro, vou criar uma função. Função e nosso nome de função é usuário. Então, dentro da resina redonda, essa função usará uma matriz como argumento Então, em vez da resina quadrada, vou passar o nome, Ele e a estrela Então, dentro do calor ses, vou imprimir o valor no meu documento. Estou digitando document dot diretamente dentro do run ss, vou digitar o nome No, vou usar o método de string template. Não vou usar nenhum sinal da congregação. É a parte traseira. Dólar dentro do nome da calibração Com isso, também quero imprimir a idade. Dólar dentro da era dos calibradores. Com isso, também quero imprimir aipo. Dollar, dentro do aipo Class, e coloque dois nesta linha Usando esse método de estruturação, podemos passar a matriz como argumento. Deixe-me te mostrar como. Apenas, você precisa chamar a função do usuário. Usuário. Além disso, se o quadrado é sis, precisamos passar os valores. Para o nome, vou digitar add one means, add one. Para H, eu vou passar 25, e para salário, eu também quero passar 1.000 e Semar dois nesta linha Se eu definir esse arquivo, como você pode ver nas minhas sobrancelhas, p às 1:25 e 1.000 Esse é o único método pelo qual podemos usar essa matriz estruturante. Mas o que? Se eu remover o parâmetro, deixe-me mostrar para você. Devo remover esse parâmetro. Não vou vender nenhum parâmetro. Vou comentar sobre essa linha e não escrever QR. Retorno. Como retorno, vou passar esses valores diretamente para essa função. Vou cortar essa parte e vou colá-la aqui e subcortar essa linha. Nossa função de usuário basicamente retornará esses valores. Agora a pergunta está em nossa função, não passamos nenhum parâmetro. Não podemos enviar nenhum argumento para essa função. Então, como podemos atribuir esse valor em uma variável de nome? Sim, nós podemos. Deixe-me mostrar como aqui, vou amarrar tarde dentro do quadrado ss, vou pegar o nome da variável. Ou a primeira variável é nome, ou a segunda variável é H. A terceira variável é aipo, e eu vou atribuir essa matriz com a função de usuário Usuário. É isso mesmo. Agora, se eu quiser imprimir esse R sem chamar a função, sim, podemos porque aqui atribuímos a função a essa variável. Vou digitar o ponto do documento diretamente dentro do recesso redondo, quero imprimir o nome e o Segra para finalizar essa linha Se eu definir esse arquivo, como você pode ver no meu navegador, basta imprimir o nome e adicionar um. É assim que podemos usar a matriz de desestruturação com funções. Obrigado por assistir a este vídeo, Sune, pelo nosso próximo tutorial 9. Destruição de objetos em javascript: Adar, olá pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com outro tutorial relacionado ao Java avançado. Neste tutorial, vamos aprender esse objeto estruturante. Em nosso tutorial anterior, aprenderemos sobre essa matriz estruturante. Também aprendemos como podemos armazenar valores de matriz em variáveis diferentes. Da mesma forma, esse objeto estruturante funciona. Como você pode dizer, criamos um objeto e, nesse objeto, temos um total de duas propriedades e dois valores, Na e idade. Agora eu quero definir esse valor em uma variável. Semelhante a A, também podemos atribuir variáveis a essas variações. Algo parecido. Usando esse método, podemos desestruturar esse objeto. Primeiro, você precisa digitar tarde. Então, dentro do carro ss, você precisa passar o nome da variável. Lembre-se de que o nome da nossa variável deve corresponder ao nome da propriedade. Então, precisamos atribuir essa variável a esse objeto. Em seguida, ele atribuirá o valor do nome a essa variável de nome e o valor e a essa variável ge. Sem perder tempo, vamos começar de forma prática. Como você pode ver, lado a lado, abro meu editor de código do estúdio de resultados e meu navegador usando a extensão Live Server, e já criei um ponto de índice de nome de documento estim t. Além disso, você pode ver em nossa tag de script que já criamos um objeto, usuário atrasado Neste objeto, temos um total de três propriedades e valores, nome, H e país. Agora vou começar esse valor em uma variável. Para isso, vou usar o método de desestruturação, tipo de som tardio e dentro da cor ss, nossa primeira variável ms name, e nossa segunda variável m é H, e nossa terceira variável m é country Em seguida, vou atribuí-lo a um objeto, e o nome do nosso objeto é user, e Segal dois nesta linha Agora eu quero imprimir essa variável no meu navegador. Aqui vou digitar o ponto do documento diretamente dentro do recesso redondo, vou passar o nome da variável, que é cot E sg para terminar esta linha. Se eu definir esse arquivo, como você pode ver no meu navegador, insira o nome do país, que é Índia Mas se eu remover essa variável country e depois definir esse arquivo, agora ele retornará uma seta. Mas se você se lembra, quando você usa o método de estruturação com A, não há uma seta escrita. Há sN indefinido. Mas para objetos, isso retornará um erro. Se não atribuirmos nenhum nome de variável e se usarmos a variável , ela retornará um erro. Além disso, também podemos usar o nome As para essa variável. Deixe-me te mostrar como. Suponha que, para nome, eu queira usar uma forma curta, que é n. Para isso, precisamos usar dois pontos e eu vou usar n como nome Se quisermos imprimir o nome desse objeto , podemos usar o nome do Ai. Aqui estou para digitar a correção corretamente n. Se eu definir esse arquivo, você poderá ver o resultado. Além disso, imprime e um M aqui n representa a variável do nome. Isso é tudo para este tutorial. Obrigado por assistir a este vídeo, prepare-se para o próximo tutorial. Eu espero que você 10. Introdução: Esta é a introdução da programação orientada a objetos em JavaScript. Era conhecido como Op, Op significa programação orientada a objetos, e foi introduzido na versão seis do JavaScript. programação orientada a objetos é uma metodologia de codificação, um estilo ou um padrão Ele foi introduzido para converter nossa grande linha de código em uma linha menor de código. Com isso, podemos tornar nosso código mais modular e reutilizável Que podemos usar esse código repetidamente. Isso torna nosso código bem organizado e isso torna nosso código muito mais fácil de depurar Depurar significa se há um erro em nosso código. E o método, a captura do erro, é chamado de depuração. Basicamente, não usamos programação orientada a objetos para pequenas tarefas. É usado para projetos grandes e complexos. Atualmente, ele está usando vários quadros de Javascript , como um Jase angular Jase Voyages, e todos eles são Se você quiser entender a programação orientada a objetos, primeiro, você precisa entender dois termos. A primeira é a classe e a segunda é o objeto. Se você entende esses dois conceitos, então você entende 50% do programa ordenado por objetos e o conceito usado em todas as linguagens de programação de alto nível Primeiro, vamos tentar entender o que é classe e objetos. Vamos tentar explicar isso com imagens gráficas. Suponha que temos uma planta de um prédio e um construtor construiu casas com essa planta De acordo com o projeto, cada edifício que o construtor faz é semelhante Todos os projetos de construção são idênticos. Como você pode ver, a planta tem três quartos e uma cozinha Portanto, todos os edifícios são bem parecidos. Você pode aceitar nossa planta como uma classe, e todas as construções feitas por essa planta são objetos A questão é que os objetos são feitos com essa classe. Deixe-me mostrar outro exemplo. E é um pequeno avanço. Suponha que temos um carro de classe nove, e esses são dois carros reais O primeiro é Marti sit e o segundo é Toyota fortunar. Criamos um carro de classe nove, e nossos carros reais são objetos , feitos pela classe de carros Como você sabe, todo carro tem algumas propriedades comuns. Como sua cor, motor, assento, seu SC e seus preços. Nós as chamamos de propriedades na linguagem de programação, e essas propriedades estão associadas a uma ou mais classes. Cada turma tem sua própria propriedade. Como você pode ver, temos dois carros reais, velozes e afortunados Suas propriedades são as mesmas, mas seu valor é diferente. Como você pode ver, Marthy tem quatro opções de cores, mas Tota tem cinco opções de cores Marti fornece 12 Cz. E a Toyota fornece um motor de 2.700 CC, Mali fornece cinco assentos e a Toyota fornece sete assentos, e ambos os carros fornecem um C. Além disso, você pode ver que há preço de uso diferente As propriedades são basicamente uma variável, e podemos dizer um valor diferente para essa variável. Se você quiser alterar e manipular os valores, precisará usar métodos Nossas aulas são feitas com propriedades e métodos. Suponha que eu crie um cálculo de nome de classe. Então eu crio algumas variáveis como propriedades. Declaramos essas três variáveis dentro dessa classe. Se você quiser atribuir valores a essas propriedades, precisará de métodos. Os métodos são basicamente funções. Suponha que queiramos adicionar números. Vou criar uma soma de nome de função. Como você pode ver, realizamos alguns cálculos nessa função. Primeiro, pegamos uma variável chamada C, depois adiciono duas variáveis A e B e retornamos C. Podemos usar somente essas propriedades em nosso método, que já declaramos em nossa classe, e não podemos usar propriedades, que são e não podemos usar propriedades, definidas fora das classes Aqui você pode ver que acabamos de criar um método em nossa classe. Mas você pode criar vários métodos nessa classe. Da mesma forma, vou criar outro método chamado Sub. Subtração submédia. Deixe-me mostrar a sintaxe, como podemos declarar Além disso, vou mostrar como podemos criar propriedades e métodos. Suponha que eu crie um nome de classe inferno. Primeiro, precisamos digitar a palavra da classe depois o nome da nossa classe, que é olá. Então, dentro das calibrações, diabos, precisamos criar propriedades e métodos dentro dessa classe Suponha que eu queira criar uma confusão de nomes de métodos. Para isso, primeiro, precisamos usar o nome do método. No nosso caso, massas, é uma função normal. Apenas herói, não precisamos usar a função ord antes do nome da função Da mesma forma que para parâmetros, precisamos usar parênteses Então, dentro do calprass, podemos definir nossas massas No nosso caso, quero imprimir olá a todos em nosso console. Agora, a massa se torna um método. Você pode criar vários métodos em uma classe. Se você quiser chamar esse método, primeiro você precisa criar um objeto usando essa classe. Primeiro, precisamos considerar uma variável em nosso caso A e A como essa classe. Além disso, para ascender nessa classe, precisamos usar o novo QR e, em seguida, o nome da nossa classe Isso transformará nossa variável em um objeto. Depois de criar esse objeto, podemos exceder todas as propriedades e métodos dessa classe. Suponha que eu queira chamar o método Masse. Então, primeiro, precisamos digitar o nome do objeto em nosso caso A, mensagem de nome do método dot. E se você quiser enviar algum argumento, então você pode fazer. Normalmente, precisamos ler para funcionar. Isso é tudo para este tutorial. No próximo tutorial, aprenderemos sobre a prática. Obrigado por assistir a este vídeo Confira o próximo tutorial. 11. Programação orientada a objetos prática: Ei, pessoal, é bom ver vocês BA. Este é o segundo tutorial relacionado ao programa orientado a objetos. Como você pode ver, lado a lado, abro meu editor de código do Visa Studio e meu navegador usando a extensão Lip Server, e já crio um caixa eletrônico de pontos de índice de nomes de documentos estável caixa eletrônico de pontos de índice de nomes de documentos Dentro da tag do script, primeiro, vou criar uma classe para criar uma classe em Java Script, precisamos usar a classe QR. Classe, então precisamos dizer o nome da classe, e o nome da nossa classe é olá. Então, na aula, aqui vou passar uma mensagem. Basicamente, vou definir uma mensagem de nome de método. Então, vou digitar a mensagem em volta de ss. Então eu digo o grosseiro. Aqui eu vou imprimir o log C, eu digo o ss redondo, eu digo os códigos duplos, eu vou imprimir uma mensagem. Olá, pessoal. E então o Seminário dois nesta linha Sempre que o usuário chamar esse método dessa classe , ele imprimirá essa mensagem. Olá, pessoal. Como eu disse, para chamar esse método dessa classe, criamos um objeto usando essa classe. Vamos criar um objeto usando essa classe. Atrasado e nossa variável é A, A igual a para criar um objeto, precisamos usar new. Novo, então precisamos chamar o nome da classe, olá. Agora, uma variável se torna um objeto, que é feito com a classe hello. Agora eu quero chamar o método de mensagem. Para isso, precisamos digitar uma mensagem de ponto. Então, vamos acabar com essa linha. Se eu definir esse arquivo, como você pode ver no meu console, ele imprime olá a todos. Agora você entende, primeiro, precisamos criar uma classe. Então você define essa classe, temos um método, mensagem. Se você quiser chamar esse método , primeiro você precisa criar um objeto usando essa classe. No nosso caso, A, então você pode chamar esse método a partir dessa classe. Agora, vamos falar mais sobre métodos. No Java Step, temos um total de três tipos de métodos. Nosso primeiro método é o método construtor. segundo é o método protótipo e o terceiro é o método estático, e vamos começar com o método construtor Para criar um método construtor, não precisamos usar nenhum nome de construtor Deixe-me te mostrar como. Aqui, vou criar um método construtor Para isso, basta digitar no construtor. Construtor redondo de latão e dentro da classe, você pode passar Suponha que H eu digite o log de pontos do console dentro da irmã redonda. Eu vou digitar. Bem-vindo. E semicon dois nesta linha Lembre-se de que, para criar um método construtor, você não precisa usar nenhum nome Você só precisa digitar a palavra Q do construtor. Agora, a questão é: qual é o propósito desse método? Sempre que criamos um objeto usando essa classe , o método construtor é chamado automaticamente Não precisamos chamá-lo pelo nosso lado. Ele é executado automaticamente. Agora, se eu comentar essa linha e definir esse arquivo novamente, veja, ele executa automaticamente o método construtor, então é bem-vindo Aqui eu apenas crio um objeto usando essa classe, mas não chamo o método any em particular. Da mesma forma, se eu criar outro objeto usando a mesma classe, quero duplicar essa linha, e aqui vou digitar B e definir esse arquivo Depois de configurar esse arquivo, como você pode ver, novamente, ele será impresso em nosso consumo. Primeiro, ele é executado para o objeto A, depois para o objeto B. Agora vamos aprender sobre propriedades. Também aprenderemos como podemos atribuir valor às propriedades. Há duas opções para fazer isso. Primeiro, vou te mostrar um método básico. Revogue esta linha. Ouça com atenção. Sempre que precisarmos declarar uma propriedade para finalizar a classe, precisamos declará-la dentro do método construtor Suponha que eu queira declarar uma variável. As propriedades são basicamente uma variável, nada mais. Então, vou declarar uma propriedade, L tarde, e o nome da nossa propriedade é nome, depois seco na linha Como declaramos uma propriedade? Agora eu quero usar essa propriedade. Quero usar essa propriedade em nosso método de mensagem. Vou remover todo mundo e vou usar o sinal da congregação Além disso, você pode usar bati se estiver familiarizado com esse método de string Então eu quero enganar a variável. Para isso, precisamos usar essa palavra-chave. Isso significa o objeto. Nome D. Agora, definimos uma propriedade nessa classe. Também usamos essa propriedade, mas não enviamos nenhum valor. Agora precisamos definir um valor para essa propriedade. Como podemos fazer isso? Para isso, precisamos usar o nome do objeto. No nosso caso, A, A e eu queremos dizer, Nome, atribuí-lo, e aqui, você pode passar o nome do aluno, que é Ming, e depois passar o smog para esta linha Agora, novamente, quero imprimir a mensagem no meu console. Vou descomentar essa linha e definir esse arquivo. Neste arquivo, como você pode ver meu console, agora está impresso. Olá, com um Mg. Se eu fornecer um pouco de espaço e economizar novamente, agora você poderá vê-lo corretamente. Olá, em um Mg. Com isso, também, você pode ver outra mensagem do nosso método construtor Como eu disse, não precisamos chamar o método construtor. Ele é executado automaticamente quando criamos um objeto usando essa classe, e há um atalho ao qual podemos atribuir valor às nossas propriedades Para isso, aqui precisamos pegar um parâmetro em nosso método construtor Vou usar um nome como parâmetro. E eu vou atribuir um nome a essa variável, um nome. Agora, não precisamos criar essa linha para atribuir esse valor a essa variável. Quero comentar essa linha e, a partir daqui, vou copiar de uma vez Sempre que criamos um objeto usando essa classe, podemos passar o valor. É como uma função. Se eu definir esse arquivo, você poderá ver o mesmo resultado. Acho que fiz alguma mística porque aqui não precisamos declarar a palavra-chave atrasada Vou remover mais tarde. Desta vez, vou usar essa palavra-chave. Esse nome de ponto. Essa palavra Q representa o objeto. Se eu definir esse arquivo, agora você pode ver que agora é imprimir olá em um mago. É muito parecido com a função. Não é? Sim, é. Aqui você pode definir várias propriedades o quanto quiser. Agora, vamos falar sobre o método do protótipo. Este é o exemplo do método de protótipo. Para isso, você precisa usar o nome do método, e o método protótipo não é executado automaticamente Para executar esse método de protótipo, precisamos chamá-lo, e nosso último método é o método estático Para criar um método estático, precisamos usar a palavra-chave estática. Deixe-me te mostrar. Aqui eu quero criar um método, que é um método estático. Alguns tipos, estáticos. Em seguida, precisamos usar um nome de método. No nosso caso, o nome do nosso método é nome completo. Então você precisa usar latão redondo. Então, dentro do Cal Press, você pode imprimir qualquer coisa. Doc pontilhe diretamente dentro do recesso redondo dentro dos códigos duplos O nome do aluno está em uma mega. Agora você decide que vai chamar o método estático desse objeto. Vamos chamar o método estático. Um ponto semelhante nesta linha. Se eu definir esse arquivo, ele não vai funcionar. Vai arremessar. Sim. Não precisamos criar um objeto para chamar um método estático. Podemos chamar o método estático sem criar um objeto. Para chamar o método estático, precisamos usar o nome da classe. No nosso caso, olá. Deixe-me mostrar como podemos usar. Aqui vou digitar o nome da nossa classe. Função de nome completo Hello dot. Em seguida, defina nesta linha. Se eu salvar esse arquivo, você poderá ver o resultado. Como você pode ver no meu navegador, agora ele chama o método estático na impressão, nome Scrutin está em uma caixa Como eu disse, a aula é um modelo, caso contrário, um modelo Podemos usar a classe várias vezes para criar objetos. Então, isso é tudo para este tutorial. Obrigado por assistir a este vídeo, aguarde o próximo tutorial. No próximo tutorial, aprenderemos em dezenas. 12. herança: Olá, pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com um novo tutorial relacionado a Javascript avançado. Neste tutorial, aprenderemos sobre promessas. Prometa, apresentando a versão seis do Javascript. Vamos tentar entender as promessas com imagens gráficas. Suponha que seja você e esse seja seu amigo. Seu amigo liga para você e diz, cara de longa data, “ Vamos nos encontrar”, e você respondeu: “ Vamos nos encontrar amanhã” Isso significa que você prometeu ao seu amigo que vai se encontrar com ele amanhã. Agora podemos definir essa promessa em três estágios. Nossa primeira etapa está pendente. Sua promessa permanecerá pendente até amanhã e, se você encontrar seu amigo amanhã , terá cumprido a promessa. Esse é o segundo estágio da promessa. Em seguida, vem o terceiro estágio, que é ressecado. Se, por algum motivo, você ficar ocupado e não conseguir cumprir sua promessa, precisará rescindir a promessa Esses são os três estágios de promessa, pendente, pílula completa e respeitada Agora a questão é: o que geralmente fazemos com base em promessas. Você decide se cumpre as promessas, depois vai comer no restaurante e, se respeitar a promessa , se encontrará outro dia Ambos os resultados dependem da sua promessa. Da mesma forma, o método de promessa do JavaSP funciona. Temos uma promessa de nome de método. Então, dentro dessa promessa, especificamos uma condição e, com base nessa condição, ela retornou aos resultados. Caso contrário, resolva, caso contrário, resseque. Se nossa condição for resolvida, agora podemos usar uma nova função chamada then. Dentro da função then, decidiremos se nossa promessa foi resolvida e, em seguida, o que faremos. Como eu disse, se você encontrar seu amigo amanhã , você irá ao restaurante e, se nossa condição for ressecada, chamaremos outra função chamada Ambas as funções são função de caverna. Todas essas funções são do JavaScript. Mas você pode usar qualquer nome de função para função de resultado e função de respeito. É um PU. Esse é o método promise, que é introduzido em sua versão do Java script. Agora, vamos falar sobre a sintaxe, como podemos usar o método promise em JavaScript. Primeiro, precisamos pegar uma variável. Então, nessa variável, precisamos definir uma nova promessa. Agora, essas variáveis se tornam objetos promissores. Como eu disse, definimos uma função dentro desse método de promessa. É assim que podemos fazer isso. Aqui, criamos uma função dentro dessa promessa e também podemos usar a função de seta. Basicamente, nesta função, aqui precisamos passar um total de dois parâmetros. No nosso caso, resolva e descanse, e você pode usar qualquer nome para esse parâmetro. Se sua promessa for cumprida, você poderá chamar a função de resultado e, se sua promessa falhar, poderá chamar a função de ressecção Agora, a questão é como podemos chamar as funções. Para isso, podemos criar uma condição. Algo parecido. Como você pode ver nessa promessa, ele criará uma condição “se não for assim”. Você pode definir sua própria condição, depende de você, e se sua condição for atendida, você pode chamar a função de resultado. Se sua condição falhar, então, no início L, você pode chamar a função de descanso. Você não precisa criar a função em nenhum lugar, você precisa chamar a função. Como eu disse, se suas promessas forem resolvidas, caso contrário, descanse para o trabalho futuro, podemos criar outra função. No nosso caso, no cumprimento. Quer dizer, sempre que chamarmos a função de resultado, ela chamará essa função, e qualquer que seja a função de resultado escrita, podemos armazená-la em uma variável. No nosso caso, resultado, e aqui você pode usar qualquer nome de variável. Da mesma forma que para o resultado, aqui você cria outra função, que está na ressecção Se essa função retornar alguma coisa , podemos armazená-la em nossa variável. Em seguida, vamos imprimi-lo em nosso console. Como eu disse, você pode usar qualquer nome para essas variáveis. Agora, essas duas funções não serão chamadas sozinhas. Essas não são funções de cavernas. Para chamar essas duas funções, Java stip vem com algumas funções in, que são then e catch Eu já falei sobre isso. Essas duas funções são função de caverna. Se nossa condição for resolvida, ela chamará automaticamente a função then e a função then chamada na função de preenchimento Se nossa condição for res, ela será automaticamente chamada dessa função **** catch E ele vai chamar essa função em uma reação. Em seguida, a função chamará a função de preenchimento e a função catch chamará a função de resção Vamos resumir o tópico. Primeiro, vamos criar uma promessa e, dentro da promessa, vamos criar uma função. Nesta função, aqui precisamos pegar duas variáveis. Nossa primeira variável é para o sucesso e nossa segunda variável é para o fracasso. Em seguida, criamos uma condição dentro dessa promessa. Se a condição for satisfeita, ela chamará resolve e, se a condição falhar, será chamada de rest. Se a chamada de função for resolvida, automaticamente ela será chamada desse nome de função de enseada, e eu repouso a função chamada, ela será automaticamente chamada de nome de função de enseada Agora você pode ter dúvidas sobre como podemos enviar argumentos para essas funções. Para nossas funções, como você pode ver, temos parâmetros, resultado e erro. Como podemos enviar o valor para essa função. Sempre que chamamos, resolvemos, caso contrário, descansamos a função com essa função, enviamos o valor. Como você pode ver, aqui está o sucesso, aqui está o fracasso. Sempre que chamamos a função de preenchimento, essa massa será atribuída ao resultado do nome dessa variável Da mesma forma, funcionou para uma ressecção. Isso é tudo para este tutorial. No próximo tutorial, vamos começar a prática. Obrigado por assistir a este vídeo, fale para o próximo tutorial. 13. Herança prática: Então, como você pode ver lado a lado, abro minha embarcação no seu editor de código e meu navegador usando a extensão Live Server e já criei um ponto de índice de nome de documento est em. Primeiro, dentro da tag do script, vou criar uma classe. Para isso, precisamos usar a classe QR, classe empregar. Então, no set the Css, vou criar um método construtor, como você sabe, para criar um método construtor, precisamos usar o construtor d, o construtor redondo Em seguida, em set the Css, H imprima uma declaração em nosso console. Tipo de som: console, registro de pontos dentro das rodadas, tipo Hm, funcionário I. E eu não tenho dois nesta linha. Agora, vamos criar um objeto usando essa classe. Para isso, vou criar uma variável tarde e o nome da nossa variável é A, A, atribua-a, nova. Como eu disse, para criar um objeto, precisamos usar a nova palavra-chave e o nome da nossa classe, que é empregado. Em seguida, a poluição atmosférica entra nesta linha. Se eu definir esse arquivo, como você pode ver no meu console, ele imprime Eu sou funcionário. H é um erro ortográfico do TAP. Para funcionário, precisamos digitar E, não I. Se eu definir esse arquivo, você poderá ver o resultado. Eu sou funcionário. Como sabemos, em nosso tutorial anterior, aprenderemos a execução automática do método construtor Não precisamos ligar para isso pelo nosso host. Agora eu decido que quero criar outra turma. Para isso, vou digitar a palavra classe Q, e nosso novo nome de classe é manager. O gerente e essa classe herdam com a classe do funcionário. Como eu disse para você herdar com outra classe, precisamos usar extend kd, extend, extends employee Então, no set the cases, por enquanto, eu não vou digitar nada. Apenas nosso gerente classifica a classe de funcionário, e agora eu decido que vou criar um objeto com a classe de funcionário. Vou comentar essa linha e, na próxima linha, vou criar uma variável tarde e nossa variável é B, B e classe gerente. Para criar um objeto B, usaria o novo Q, novo gerenciador e, em seguida, simular to nesta linha. Se eu definir esse arquivo, como você pode ver, ele também será impresso no meu console, eu sou funcionário. Mas se você notar, você pode ver na classe de gerente que você não tem nenhum método construtor, mas podemos acessar o método de classe de funcionário usando a classe gerente porque nossa classe de gerente está na classe de funcionário Nesse caso, a classe de funcionários é uma classe básica e a classe de gerente é uma classe direta. Agora eu decido que quero enviar um argumento para a classe de gerentes. Aqui, vou passar um nome e digitar add one means. E um significa. Como eu disse, precisamos lidar com propriedades em nosso método construtor Aqui, precisamos pegar uma variável. O nome da variável é nome, e então eu quero imprimir o nome no meu console. Aqui vou passar a variável de nome com isso, vou usar o sinal de conggação. Se eu definir esse arquivo, como você pode ver no meu navegador, ele imprime adv significando, eu sou funcionário Agora a pergunta é: o que aconteceu? Se eu criar a mesma classe construtora na classe manager, vamos copiar o construtor e colá-la dentro da classe manager Por enquanto, não quero enviar nenhum argumento para esse construtor Eu quero remover essa linha e H I digitar, eu sou gerente. Se eu definir esse arquivo, desta vez, primeiro ele imprimirá essa linha, depois retornará um erro. Deixe-me te mostrar. Se eu definir esse arquivo, como você pode ver, primeiro ele será impresso, eu sou gerente. Em seguida, ele imprime uma mensagem de erro e diz: deve chamar o super Construtor Como você pode ver, nosso objeto foi criado com a classe manager e o método construtor disponíveis em ambas as classes Ambas as classes possuem exatamente o mesmo método e objeto B feitos com a classe manager. É por isso que podemos ver essa mensagem. Eu sou gerente. E se você quiser exceder apenas o construtor de disco específico, eu quero dizer o construtor da classe base, então você precisa usar a superfunção Aqui, precisamos usar a função super, tipo de soma, super e Sem nesta linha. Se eu definir esse arquivo, ele funcionará, mas também retornará indefinido Deixe-me te mostrar. Se eu definir este arquivo, como você pode ver, indefinido, funcionário de mensagens instantâneas Se quisermos lidar com esse argumento em nosso construtor de gerenciamento, nesse caso, precisamos usar o nome do nome da variável Além disso, vou usar esse nome aqui. Nomeie Cctint, eu sou gerente. Se eu definir esse arquivo, como você pode ver, adicionar um significa, eu sou gerente. Lembre-se de que, se usarmos o mesmo construtor em nossa classe direta, não poderemos enviar dados para nossa classe base porque aqui usamos o construtor exato Porque a superfunção não permite isso. Agora, vamos falar sobre o método do protótipo, como podemos usar o método do protótipo em dezenas Em primeiro lugar, vou comentar esse método construtor em nossa classe manager Então, em nossa classe de funcionários, ou seja, classe base, aqui vou criar um método de protótipo, alguns digitam o nome do método, que está em Insira o caliss, imprima o registro de pontos do console, sou funcionário, e é o que podemos fazer nesta linha Com isso, quero imprimir o nome do funcionário. Mas, como você sabe, se quisermos usar essa propriedade , precisamos armazená-la em uma variável. Para isso, vou digitar esse nome de ponto igual ao nome. Agora podemos usar a variável de nome no meu método de protótipo. Aqui eu vou usar o sinal da congregação superior , eu sou empregado Vou digitar esse nome de ponto. Vamos mudar o nome da variável para evitar a confusão. Quero atribuir um novo nome, que significa nome do funcionário. Além disso, precisamos digitar esse nome de ponto aqui. Se quisermos chamar essa variável. Agora eu decido que quero exagerar nesse método de protótipo usando a classe manager Mas criamos o método de protótipo na classe de funcionários. Mas, como você sabe, nossa classe se estende à classe de funcionários, é por isso que podemos usá-la. Vamos usar esse método de sondagem. Para isso, como você sabe, precisamos chamar o nome do objeto. B, B destacam o nome do nosso método, que é info, e SemGro dois nesta linha Se eu definir esse arquivo, como você pode ver no meu console, ele imprime Eu sou funcionário em uma página. Mas se eu usar o mesmo método de protótipo em nossa classe manager, copiarei esse método prote e o colarei na Eu vou mudar um pouco. Eu sou gerente. Se eu definir este arquivo, desta vez você pode ver, Harry print, eu sou gerente e um mago. Porque desta vez, esse método de protótipo está disponível em sua própria classe, e nosso objeto foi feito com essa classe, não com a classe de funcionários É por isso que é chamado de método próprio. Mas agora você decide que não vai usar o método de teste da classe manager Você deseja exceder o método de sondagem da classe de funcionário , ou seja , classe base Como eu te disse, o dedo do pé funciona muito bem. Para isso, você precisa digitar super, você precisa passar o nome do protótipo, e o nome do protótipo é info Então você precisa passar a base redonda e a semi nesta linha Se definirmos esse arquivo, como você pode ver no meu console, agora ele está rastreado, eu sou o gerente Aqui você pode ver meu console, primeiro ele imprime, sou funcionário de uma Mage. Esta linha é da classe de funcionários e, em seguida, imprime, sou gerente de uma Mage. Essa linha é da classe manager. Além disso, você também pode alterar o wader desse método de programa Suponha que agora você queira imprimir primeiro, sou gerente da One Mage. Então você quer imprimir, eu sou funcionário da One Mage. Para isso, basta alterar a ordem da superfunção. Então eu movo a construção da superfunção e depois a lei do console. Se eu definir esse arquivo, como você pode ver, agora a ordem será alterada. E agora eu vou te mostrar o exemplo real. Por que e como vamos usar em alturas. Como você pode ver, temos um total duas classes, funcionário e gerente. Agora eu decido que vou fazer mais duas discussões, H e altura. Ela passa em nosso método construtor, H, altura, e para classificar essa propriedade em uma variável, vou usar duas outras variáveis Hm digite esses pontos e igual a H. Clique na altura desse ponto E altura igual à altura e linha da haste Agora eu decido que quero exibir todas as informações nessa função de inferência Vou comentar esta linha e o documento do tipo leme Dot. É o ss redondo, aqui, vou usar o método de string de modelo. Eu usei uma gravata. Se você não está familiarizado com o método de string de modelo, é o novo recurso da versão e six. Aqui, não precisamos usar nenhum lado da concatnião. Espero que você já esteja familiarizado com isso. Isso é uma etiqueta? Primeiro, vou imprimir uma etiqueta de cabeçalho. Para isso, vou usar a tag ESTl, a tag H two, H two Em seguida, insira isso que um tipo de amplificador de duas tags emprega. Então eu vou fechar a etiqueta A two. Duas estrelas por ir para a etiqueta. Dois próximos. Então eu vou imprimir o nome. Nomeie dois pontos e eu vou chamar a variável. A primeira variável é para nome, dizemos e Variável de nome. Vou copiar o nome do ponto E, e para p para usar essa variável, heroína para usar o cifrão e dentro dos cálices, vou colar o nome da variável Esse nome de ponto E, e também vou usar uma tag para quebrar a linha. Então eu duplico essa linha duas vezes, e para H, mo digite H. Essa idade do ponto E, e para altura, vou digitar altura, essa altura do ponto E e semicícone dois nesta linha, e eu não preciso dessa função de informação da classe manager Vou comentar esta linha e, com o nome, vou passar da idade de estudante, que é 24 Também vou passar por uma altura prudente, que é de 175 centímetros no curso duplo Se eu definir esse arquivo, como você pode ver no meu navegador, imprima o nome do funcionário H e altura, vantagem do nome H 24 altura 175 centímetros Agora eu decido que quero imprimir as mesmas informações para o gerente. Algumas cópias são um método profissional, e vou colar no set a classe manager. Mas agora eu quero adicionar uma nova propriedade a esse método, e nossa nova propriedade é definida Alguns títulos tarde definem um salário igual a $1. Também quero alterar o texto do título, empregue para gerente. Além disso, com as informações, quero imprimir um gerenciador de impressão salgado. Eu quero fixar essa linha e amo o salário. E também para passar o nome da variável salário. Se eu definir esse arquivo, como você pode ver no meu navegador, agora sprint manager Nome: adicione um M H 24 de altura de 175 centímetros. Além disso, fixe o salário, $100, para descontá-lo, vamos criar outro objeto Eu quero pegar essa linha. Desta vez, o nome do nosso objeto é cheiro, e esse objeto foi feito com a classe manager. Vou mudar o nome Sm. E suas bordas são 28, e sua altura é 170 x 1 centímetro, e agora eu quero imprimir as informações de Smith no meu navegador Aqui, vou chamar a função Smith dot info. Se eu definir esse arquivo, como você pode ver, agora ele imprimirá todas as informações sobre Smith. Este é o exemplo de herança de nível único porque aqui nossa classe se estende com apenas uma Nossa classe de gerente se estende com a classe de funcionários. Mas agora vou mostrar a vocês a herança em vários níveis. Essa é a classe de funcionários. Esta é a aula de gerente, amplie com o funcionário, e agora vou criar outra classe. Aula e nossa próxima aula é chefe. Classe de chefe, estenda com a classe de gerente. Agora, o chefe pode exceder as informações do gerente, ele também pode existir nas informações do Do, mas o gerente e o funcionário não podem exceder as informações do chefe. Então eu vou comentar esta linha. Agora, nosso objeto Smith o tornou de classe chefe, chefe. Vou configurar esse arquivo. Depois de definir esse arquivo, agora você pode ver, ele imprime todas as informações da classe manager porque em nossa classe boss, não temos nenhum método de informação. Mas o que? Se comentarmos o método info, eu vou comentar esse método. Da classe de gerentes. Agora você pode ver que esse método de informação está disponível apenas na classe de funcionários Se eu economizar esse tempo, agora você pode ver, agora ele imprime o construtor do protótipo da classe de funcionários É por isso que não imprime o valor do salário. Nosso chefe pode exceder as informações da classe de gerente também pode exceder as informações da classe de funcionários. Informação significa todo o construtor e as propriedades. Dessa forma, vários níveis em acertos funcionam. Esse é o pequeno exemplo de hitens, e I Hitens é a parte mais importante da programação orientada a objetos Obrigado por assistir a este vídeo, fique ligado no próximo tutorial 14. Introdução ao módulo Js: Olá, pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com um novo tutorial relacionado ao Javasc avançado. Neste tutorial, aprenderemos o que é o modo Vamos tentar entender os módulos com imagens gráficas. Suponha que tenhamos dois arquivos JavaScript, arquivo um Js e arquivo dois pontos js. No arquivo one dot js, declaramos algumas funções de carros variáveis, além disso, criamos algumas classes Agora eu quero usar essa função variável e classes no arquivo dois. Não é obrigatório que eu use todas as funções e classes de variáveis. Eu quero executar qualquer função específica. Caso contrário, quero chamar qualquer variável específica. Para isso, o Java script introduz módulos. Usando módulos, podemos usar classes de variáveis da função Jati em outros arquivos Isso aumenta nossa capacidade de reutilização de código e é muito fácil de manter Além disso, reduz o carregamento da página de teste. Em nosso arquivo one to JS, temos muitas funções, mas quero decidir que quero usar apenas uma função. Então, vou melhorar essa função em nosso arquivo dois. Então, podemos vincular esses dois arquivos ao nosso documento estável. É por isso que nosso arquivo STL se torna tão rápido. No módulo JavaScript, ele vem com duas funções. A primeira é a função de exportação e a segunda é a função de importação. Vamos ver como podemos usar essas duas funções em nosso policial. Como eu disse, temos um total de dois arquivos, 51 dot js e 52 dot js. No primeiro arquivo, ele declarou um nome de variável, uma função, permissão e uma classe, que é usuário. Agora eu decido que quero usar a variável de nome no arquivo dois. Não quero usar a função Hallow e a classe de usuário. Para isso, precisamos usar uma palavra-chave, e a palavra-chave é exportar. Essa palavra-chave de exportação, mantenha essa permissão variável para que possamos usá-la em outros arquivos. Sempre que precisarmos usar essa variável no arquivo dois , precisamos escrever uma declaração especial. Algo parecido. Primeiro, precisamos digitar a palavra-chave import e, em seguida, usar ses. Então, dentro do ses, precisamos passar o nome da variável, qual variável eu quero importar do arquivo um arquivo. Em seguida, precisamos digitar de e depois disso, precisamos passar a localização do arquivo, de qual arquivo eu quero importar essa variável. Se você notar, você pode ver antes do arquivo um ponto s, aqui eu uso alguns caracteres especiais. Barra invertida de pontos. Sempre que usamos módulos, precisamos fornecer nossa parte do arquivo dessa forma, e você precisa se lembrar disso. Agora eu decido que quero usar a variável name no arquivo dois. Podemos usar essa variável como outras variáveis. Podemos imprimi-lo em nosso console. Além disso, podemos imprimi-lo em nosso documento com isso, podemos realizar cálculos. Da mesma forma, se quisermos exportar essa função, sim, basta digitar export t antes do nome da função. Então, podemos usar essa função em um arquivo JS de 52 pontos. Aqui, precisamos importar a função. Importe dentro do Clerass, basta passar o nome da função Sem parênteses, caso contrário, grosseiro, apenas grosseiro, Então, podemos usar essa função como outras funções. Da mesma forma, você pode exportar essa classe e precisa seguir o mesmo procedimento para importar essa classe do arquivo s. Então, podemos criar objetos usando essa classe. Se você quiser importar a função e a classe da variável de uma só vez, sim, você pode. Só para importar dentro do crass, você precisa passar o nome da variável, depois usar vírgula, depois passar o nome da função e da classe Então você não precisa digitar várias palavras-chave de importação. Agora você deseja importar esse arquivo JS em seus documentos de teste. Para isso, basta fazer a mesma coisa, mas dentro da tag do script, você precisa fornecer o módulo de tipo. Você só precisa declarar que este é um arquivo de módulo. Em seguida, uma fonte, você precisa seguir a barra invertida de pontos do caminho relativo Este é o tutorial de introdução do módulo. No próximo tutorial, vamos começar a prática. Obrigado por assistir a este vídeo, Stadium para o próximo tutorial. 15. Tutorial avançado de módulos de Javascript: Então, como você pode ver, lado a lado, abro meu editor de código so Studio e meu navegador usando a extensão Lb Server, e já crio um documento EstiML chamado index dot Com isso, criamos alguns arquivos JavaScript, Minds, gás de pontos de biblioteca e pontos mediadores Esses são todos arquivos D. Se eu mostrar meu arquivo Index dot eL, como você pode ver, aqui usamos a tag de script e, dentro da tag de script, usamos o modo de tipo. Também fornecemos uma fonte fonte, e esta é a fonte colocada. Vinculamos nosso arquivo Minto JS a este arquivo eTML. Além disso, temos um arquivo JS de pontos ativos, onde vou criar nossa função e classes variáveis. Uma coisa muito importante que você precisa lembrar. Os módulos funcionam somente com servidores Lip. Se você não usa o servidor Lp , não pode usar módulos. Você pode usar extensões de servidor ativas. Caso contrário, você pode usar Z ou AM. Aqui, não vou explicar como podemos usar servidores Lip porque é um tutorial avançado. Espero que você já esteja familiarizado com as extensões do servidor Lip e, em seguida, vou entrar no arquivo dot has da biblioteca. Neste arquivo, vamos criar todas as funções e classes de variáveis. Primeiro, vou criar uma variável. Vou digitar tarde, tarde, a mensagem da nossa variável s. Mensagem igual a dentro do curso duplo, Hermon digita uma string, que é de seis módulos Em seguida, semicone dois nesta linha. É uma variável normal. Não podemos usar essa variável em outros arquivos. Se quisermos usar essa variável em outros arquivos para aquela do tipo inicial, podemos usar essa variável em outros arquivos. Vou definir esse arquivo e agora quero usar essa variável no arquivo Minto JS Aqui, vou importar essa variável. Como eu disse, para importar essa variável, precisamos usar import Q import. Aí está definido o cultiss, precisamos passar a variável m e a variável m é mensagem A partir daí, precisamos passar o caminho do arquivo. Mas antes do caminho do arquivo, como eu disse, está o modu Precisamos seguir esses personagens, dot Baslas A barra invertida de pontos varia. Este é o nosso arquivo, e semicone dois neste slide. Agora podemos usar isso muito bem neste arquivo. Agora vou imprimir essa variável em nosso console. Eu modigito o registro de pontos do console dentro do recesso redondo, nome da nossa variável, mensagem E semicone para nesta linha. Após a etapa deste arquivo, como você pode ver, ele não está funcionando porque eu sou um idiota e não passo a extensão desse arquivo Library dot js é um arquivo JavaScript, então você precisa passar a extensão. Após a etapa deste arquivo, agora você pode ver meu console, eu imprimo seis volumes. Além disso, se você quiser imprimir esta mensagem em sua página de estimativa, sim, você pode. Para isso, você precisa usar o JavaScript para baixo. Alguns comentarão esta linha e, a seguir, vou digitar document dot body dot inner estim igual à variável message Eu vou dizer esse arquivo. Como preceito deste arquivo, você pode ver meu navegador, imprimir e seis módulos Agora vou descomentar essa linha e voltar para o arquivo de pontos da biblioteca Aqui, vou criar uma função e quero exportar essa função, então vou digitar o expot. Em seguida, vou usar a função Q para criar uma função, e o nome da nossa função é user. E eu não quero passar nenhum parâmetro. Então, dentro do crass, tipo H, log de pontos do console, dentro do ss redondo, vou escrever uma declaração. Olá a todos. E Semgra está nesta linha Agora precisamos importar essa função. Vamos voltar ao arquivo Mind e, após a mensagem, quero importar o usuário da função do usuário. Como eu disse, para funcionar, não precisamos ter nenhuma paralisia Se você quiser chamar essa função, basta digitar o nome da função, o usuário e os parênteses, como Após a etapa deste arquivo, como você pode ver no console, olá a todos. Se você quiser passar algum argumento para essa função, sim, você pode. Logo dentro do curso duplo, H é para aprovar o argumento. Quero passar um nome, que é adicionar um Eu. Adicione um Mg e eu vou configurar esse arquivo. Em seguida, vou voltar ao arquivo LBJ e também vou abordar esse argumento Para isso, precisamos pegar uma variável, que é nome, e eu quero usá-la como console. Dentro do console, vou usar retrospectivas. Dentro das tomadas traseiras, vou digitar olá cifrão, dentro do Calise, o nome da nossa variável, que é nome Se eu definir esse arquivo, você poderá ver o resultado, olá, adicione Mg. Isso funciona como outras funções. Não há diferença. Agora, vamos criar uma classe no arquivo de pontos L V. Primeiro, vou digitar port. Exporte, então eu vou criar uma classe. Precisamos usar a classe Qd, depois o nome da nossa classe, e eu vou dizer, taste Eu, no crass, vou criar um método construtor Construtor, e neste método construtor, vou imprimir uma declaração Algum tipo de registro de pontos de console, eu no latão redondo, sou um método construtor de tipos Em seguida, sirva dois nesta linha. Sempre que criamos um objeto usando essa classe, ele chama automaticamente o método construtor Agora vamos voltar ao arquivo Do principal, e precisamos importar essa classe. Precisamos passar o sabor do nome da classe. Em seguida, precisamos criar um objeto usando essa classe. Digite e o nome do nosso objeto é A, A igual a novo objeto, Novo sabor. E semicone para nesta linha. Se eu definir esse arquivo, como você pode ver no meu console, é o método construtor de impressão Também imprime hello adv Mage da nossa função. De alguma forma, para comentar essa linha. E salve-o novamente. Agora vamos voltar ao arquivo vedo. Como você pode ver, usamos a exportação de Qt várias vezes como variável para função de nossa classe. Existe outro método pelo qual podemos exportar tudo isso em uma única linha. Deixe-me mostrar como funciona. Então, eu digito export key, export e, dentro do clibrass, precisamos passar os nomes das variáveis, das funções e das classes A variável significa mensagem. Eu quero exportar a mensagem. Também quero exportar o usuário da função. E da mesma forma, quero exportar classe, sabor. Em seguida, substitua para nesta linha. Agora, precisamos remover as palavras-chave de exportação dessas posições. Primeiro, removo export Qd da classe, depois removo export Qd da função e, por fim, vou remover export ord da Se eu definir esse arquivo, como você pode ver, no meu navegador, ele gravará o mesmo resultado. Não há mudanças. Essa é outra maneira de usar export kd e exportar nossas classes finais de variáveis de funções Notário disso, também podemos usar Allis Name. Vamos voltar ao arquivo MinDOS. Eu quero usar o nome de Allis para provar. Eu não digito ape taste, como T. Agora não precisamos digitar taste para criar um novo objeto usando a classe taste Porque o nome dos aliados hereges. Vou remover o sabor e só vou digitar t. Vamos sufocar e ver se funciona corretamente ou não Depois de definir esse arquivo, como você pode ver em nosso console, ele também é um método construtor de impressão Quero dizer, funciona perfeitamente. Mas e se eu digitar o mb real, vamos digitar taste. Se eu pisar nesse arquivo, ele lançará uma flecha. Deixe-me mostrar isso. Após a etapa, este arquivo, como você pode ver Maz, é escrito como uma seta Agora, se usarmos o nome de Ai , precisaremos usar apenas o nome do aliado, não sendo o nome verdadeiro. Agora, vamos voltar ao arquivo Live do J. Suponha que temos muitas variáveis, muitas funções e muitas classes, e eu quero usar todas elas. Então, você pode pensar que precisa sempre vincular o nome da variável. Não, não é. Se você quiser importar todas essas funções e classes variáveis, você pode fazer isso apenas uma vez. Então, para colocar essa linha e comentar a anterior. Aqui podemos seguir um novo método de importação. Deixe-me te mostrar como. Depois de importar o Qd, vou usar um signo de sol, estrela. Estrela significa tudo. Além disso, podemos usar um nome As como módulo n stars, e você pode usar seu nome N como nome A. Agora precisamos usar essa palavra Q. Deixe-me te mostrar como. Suponha que em nosso console eu queira imprimir a mensagem. Desta vez, precisamos usar a mensagem de pontos. Com isso, quero chamar o usuário da função. Nesse caso, precisamos digitar m dot user. Para o nome da classe, aqui precisamos passar M dot, o nome da nossa classe. Se eu definir esse arquivo, você pode ver no meu console que ele está funcionando. Desta vez, nossa classe não funciona porque desta vez nossa classe não está funcionando, porque aqui usamos o nome aliado Agora, precisamos usar o nome real porque comentamos essa linha. Para definir esse arquivo, você pode ver o resultado. Por que está escrito indefinido. Talvez haja um zero de digitação. Sim, é um zero de digitação. Se eu remover essa mensagem e salvá-la novamente, agora você pode ver o resultado, seis módulos, hello advanage, construtor Essa estrela seno reduz nosso código. Usando apenas uma estrela, podemos chamar todos esses métodos, classes, funções e variáveis de ativos. Isso é tudo para este tutorial. No próximo tutorial, aprenderemos a função padrão 16. Tutorial avançado de módulos de Javascript 2: Olá, pessoal, é bom ver vocês de volta. Essa é outra parte deste tutorial do módulo. Hoje, neste tutorial, vamos aprender a função padrão. O modal veio com uma função padrão. Vamos ver como podemos criar essa função. Além disso, veremos como podemos usá-lo. Vamos voltar ao arquivo Lb do JS. Primeiro, vou comentar sobre toda a escola e, em seguida, vou criar a função padrão. Para criar a função padrão, precisamos usar o padrão Q, default. Função padrão. Em seguida, parênteses. Então, dentro do processo redondo, essa função difat basicamente representa toda a multa Com isso, também quero exportar essa função. Digite Hm, exporte que, exporte e Hmoype Então digite console dot love dentro do processo redondo dentro do inferno duplo. E seita nesta linha. Agora, leva de volta ao arquivo Min Do. Além disso, vou comentar todo esse código, duplicar essa linha e comentar a anterior Para importar a função padrão, precisamos usar o mesmo processo. Deixe-me te mostrar como. Então, para remover os senos estelares e dentro das chamadas, vou passar o nome da função, que é default, default Além disso, precisamos usar Aizename, como B. D. Agora podemos chamar Aqui, digite B e Sem dois nesta linha. Aparece que este arquivo, como você pode ver no meu navegador, está escrito, olá. Não precisamos usar nenhum nome para essa função. Sempre que chamamos essa função, caso contrário, importamos essa função, tomamos como nome para essa função. Agora, finalmente, vou apresentar outro recurso do mod , conhecido como módulo agregado Aqui, aprenderemos como podemos usar vários módulos em um arquivo. Em primeiro lugar, vou comentar essa linha. Em seguida, vou descomentar essa linha de importação. Com isso, vamos para o arquivo L der JS. Do arquivo L der J, primeiro, vou comentar esta linha, não preciso dessa linha por enquanto, e também vou descomentar essa linha de exportação Quero exportar somente a função do usuário. Nada mais. Com isso, precisamos descomentar essa função do usuário Além disso, não vou apresentar nenhum argumento. Eu removo esses argumentos e aqui vou digitar simplesmente um texto. Olá, mundo. E eu vou configurar esse arquivo. Portanto, nesta função de biblioteca, temos apenas um nome de função usuário. Se você notar, você pode ver que temos outro arquivo. Medio Toto Js. Vamos entrar nesse arquivo. Este arquivo desempenhará o papel de ponte entre esses dois arquivos, principal e biblioteca Js. Para você entender melhor, vou mover esse arquivo entre essa pintura e os Js principais Em nosso arquivo JS ao vivo, aqui exportamos a função do usuário. Aqui eu uso o arquivo JS principal. Em nosso arquivo estável, incluímos o arquivo JS de ponto mínimo. Mas no arquivo JS de ponto principal, aqui vou alterar o caminho do arquivo de importação. Desta vez, vou rever esta linha e comentar a anterior. Desta vez, quero importar mediator dot js. Tipo H: arquivo mediator dot js, e eu quero importar a função específica do usuário Aqui, vou remover o nome do aliado, o sinal de início e dentro do caliss amotye, o Agora, a questão é: não criamos função do usuário no arquivo JS meet dot. No arquivo JS do ponto meteoro, vou importar a função do arquivo L A JS Alguns tipos importam dentro do nome da classe ou função do usuário a partir do arquivo JS de pontos ativos. Live dot J. Vou configurar esse arquivo. Em nosso arquivo mediador, importamos a função do usuário de L dot js Em seguida, em nosso arquivo de pontos principal, importamos a função do usuário do arquivo JS meteoro dot Mas se eu definir esses arquivos, ele retornará um erro, algo parecido. É um erro de sintaxe. impressão manual, mediadora para Js, não fornece uma exportação chamada usuário Para resolver esse problema, se quisermos usar qualquer arquivo breeze para isso, ele precisará usar export Eu chego a esta linha e comentamos a anterior e aqui precisamos digitar x Agora, se eu definir este arquivo, agora você pode ver que não há erro no meu consumo. Em nosso arquivo Mando e, se eu chamar a função de usuário, e remover o argumento porque desta vez eu não manipulo nenhum argumento em nossa função de usuário. Aceite este arquivo, você pode ver o resultado. Agora é print hello world. Tão rápido, exportamos da biblioteca para o mediador. Então, do mediador, exportamos o arquivo Mando JS Isso é tudo para este tutorial. No próximo tutorial, aprenderemos sobre promessas. Obrigado por assistir a este vídeo, Stun para o próximo tutorial 17. JavaScript avançado: tutorial de promessa: Olá, pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com um novo tutorial relacionado a Javascript avançado. Neste tutorial, aprenderemos sobre promessas. Prometa, apresentando a versão seis do Javascript. Vamos tentar entender as promessas com imagens gráficas. Suponha que seja você e esse seja seu amigo. Seu amigo liga para você e diz, cara de longa data, “ Vamos nos encontrar”, e você respondeu: “ Vamos nos encontrar amanhã” Isso significa que você prometeu ao seu amigo que vai se encontrar com ele amanhã. Agora podemos definir essa promessa em três estágios. Nossa primeira etapa está pendente. Sua promessa permanecerá pendente até amanhã e, se você encontrar seu amigo amanhã , terá cumprido a promessa. Esse é o segundo estágio da promessa. Em seguida, vem o terceiro estágio, que é ressecado. Se, por algum motivo, você ficar ocupado e não conseguir cumprir sua promessa, precisará rescindir a promessa Esses são os três estágios de promessa, pendente, pílula completa e respeitada Agora a questão é: o que geralmente fazemos com base em promessas. Você decide se cumpre as promessas, depois vai comer no restaurante e, se respeitar a promessa , se encontrará outro dia Ambos os resultados dependem da sua promessa. Da mesma forma, o método de promessa do JavaSP funciona. Temos uma promessa de nome de método. Então, dentro dessa promessa, especificamos uma condição e, com base nessa condição, ela retornou aos resultados. Caso contrário, resolva, caso contrário, resseque. Se nossa condição for resolvida, agora podemos usar uma nova função chamada then. Dentro da função then, decidiremos se nossa promessa foi resolvida e, em seguida, o que faremos. Como eu disse, se você encontrar seu amigo amanhã , você irá ao restaurante e, se nossa condição for ressecada, chamaremos outra função chamada Ambas as funções são função de caverna. Todas essas funções são do JavaScript. Mas você pode usar qualquer nome de função para função de resultado e função de respeito. É um PU. Esse é o método promise, que é introduzido em sua versão do Java script. Agora, vamos falar sobre a sintaxe, como podemos usar o método promise em JavaScript. Primeiro, precisamos pegar uma variável. Então, nessa variável, precisamos definir uma nova promessa. Agora, essas variáveis se tornam objetos promissores. Como eu disse, definimos uma função dentro desse método de promessa. É assim que podemos fazer isso. Aqui, criamos uma função dentro dessa promessa e também podemos usar a função de seta. Basicamente, nesta função, aqui precisamos passar um total de dois parâmetros. No nosso caso, resolva e descanse, e você pode usar qualquer nome para esse parâmetro. Se sua promessa for cumprida, você poderá chamar a função de resultado e, se sua promessa falhar, poderá chamar a função de ressecção Agora, a questão é como podemos chamar as funções. Para isso, podemos criar uma condição. Algo parecido. Como você pode ver nessa promessa, ele criará uma condição “se não for assim”. Você pode definir sua própria condição, depende de você, e se sua condição for atendida, você pode chamar a função de resultado. Se sua condição falhar, então, no início L, você pode chamar a função de descanso. Você não precisa criar a função em nenhum lugar, você precisa chamar a função. Como eu disse, se suas promessas forem resolvidas, caso contrário, descanse para o trabalho futuro, podemos criar outra função. No nosso caso, no cumprimento. Quer dizer, sempre que chamarmos a função de resultado, ela chamará essa função, e qualquer que seja a função de resultado escrita, podemos armazená-la em uma variável. No nosso caso, resultado, e aqui você pode usar qualquer nome de variável. Da mesma forma que para o resultado, aqui você cria outra função, que está na ressecção Se essa função retornar alguma coisa , podemos armazená-la em nossa variável. Em seguida, vamos imprimi-lo em nosso console. Como eu disse, você pode usar qualquer nome para essas variáveis. Agora, essas duas funções não serão chamadas sozinhas. Essas não são funções de cavernas. Para chamar essas duas funções, Java stip vem com algumas funções in, que são then e catch Eu já falei sobre isso. Essas duas funções são função de caverna. Se nossa condição for resolvida, ela chamará automaticamente a função then e a função then chamada na função de preenchimento Se nossa condição for res, ela será automaticamente chamada dessa função **** catch E ele vai chamar essa função em uma reação. Em seguida, a função chamará a função de preenchimento e a função catch chamará a função de resção Vamos resumir o tópico. Primeiro, vamos criar uma promessa e, dentro da promessa, vamos criar uma função. Nesta função, aqui precisamos pegar duas variáveis. Nossa primeira variável é para o sucesso e nossa segunda variável é para o fracasso. Em seguida, criamos uma condição dentro dessa promessa. Se a condição for satisfeita, ela chamará resolve e, se a condição falhar, será chamada de rest. Se a chamada de função for resolvida, automaticamente ela será chamada desse nome de função de enseada, e eu repouso a função chamada, ela será automaticamente chamada de nome de função de enseada Agora você pode ter dúvidas sobre como podemos enviar argumentos para essas funções. Para nossas funções, como você pode ver, temos parâmetros, resultado e erro. Como podemos enviar o valor para essa função. Sempre que chamamos, resolvemos, caso contrário, descansamos a função com essa função, enviamos o valor. Como você pode ver, aqui está o sucesso, aqui está o fracasso. Sempre que chamamos a função de preenchimento, essa massa será atribuída ao resultado do nome dessa variável Da mesma forma, funcionou para uma ressecção. Isso é tudo para este tutorial. No próximo tutorial, vamos começar a prática. Obrigado por assistir a este vídeo, fale para o próximo tutorial. 18. Método de promessa em Javascript: Finalmente, estou de volta ao meu editor de código iso Sudo. E você pode ver, eu crio um arquivo STL chamado index dot sTML E também abro esse arquivo no meu navegador usando a extensão Life Server. Dentro da tag principal, primeiro vou digitar a tag script. Dentro do script, primeiro, vou pegar uma variável Atrasado, completo e seu valor é verdadeiro. É um valor de Van, e vou verificar esse valor em nosso método prometido. Faremos nosso próximo código dependendo desse resultado e, em seguida, criarei um método de promessa. Vou usar uma variável chamada pro e, em seguida, vou usar uma nova palavra-chave, uma nova promessa. Dentro desse método de promessa, temos que criar uma função e eu digito a palavra-chave da função. Em seguida, dentro dos calibradores. Precisamos criar condições. Vou criar uma condição de EP. Dentro do parêntese, vou verificar o valor da nossa variável Eu digito o nome completo da minha variável. Se for verdade, ele redireciona para a condição e, se for falso, redireciona para a Como eu disse antes, prometa retornar apenas dois resultados. Está escrito “descanse ou cumpra”. Para isso, precisamos usar dois parâmetros em nossa função. Para ter sucesso, vou usar a variável de resultado e, para descansar, vou usar a variável de descanso. Se nossa função for satisfeita, então, dentro da condição e, vou usar a função resolve. Se descansar dentro da condição, vou chamar a função de descanso. Não precisamos criar essa função. Só precisamos chamar essa função. Se chamarmos essa função, podemos usar nossas funções val, que são then e catch. Agora vou enviar uma mensagem para a condição do resultado. Eu sou bem sucedido. Para ressecar, vou enviar outra mensagem Eu falhei e agora vou chamar esse objeto profissional em nosso console. Registro de pontos do console dentro dos colchetes redondos pro, não é uma função normal, é um objeto Não precisamos usar latão redondo após o nome do objeto. Se eu definir esse arquivo, você pode ver na seção do meu console, você pode ver no meu console, ele é impresso, sou bem-sucedido porque enviamos o valor verdadeiro em nossa variável completa. Se eu abri-lo, você poderá ver o resultado prometido, sou bem-sucedido e o estado prometido foi cumprido. Mas se eu definir um valor falso para nossa variável e definir esse arquivo, você verá uma mensagem de falha e também mostrará uma seta. Se eu abrir essa promessa, você pode ver o estado da promessa ser ressecado Também podemos enviar parâmetros como uma função normal. Vou remover esse valor completo da variável, vou criar uma função. Função pro dentro da rodada ss completa, depois dentro do css, e eu vou mover esse código para dentro do carro ss. Nossa função retornará uma promessa. Por enquanto, não precisamos usar variáveis. Vou remover o nome dessa variável e retornar uma nova promessa. Precisamos passar valor, por que chamamos essa função? Se eu enviar verdadeiro, como argumento. Se eu definir esse arquivo, você poderá ver meu console, eu imprimo , sou bem-sucedido e se eu enviar false como argumento. Agora é impresso, eu falhei. O prometo que a função funciona corretamente. Agora vou criar duas funções diferentes para resolver e descansar. Para resolver, vou criar uma variável, atrasada, não preenchida, e vou usar a função de seta Quando chamarmos essa função, enviarei um valor, que é resultado, e esse valor veio da função resolve. Dentro do resultado grosseiro do registro de pontos do console. Da mesma forma, precisamos criar outra função para a seção de ressecção Eu dupliquei essas linhas e substituo o preenchimento uma ressecção e envio o erro como no Registro de pontos do console, erro de impressão. Como eu disse antes, precisamos usar a função covec para chamar essas funções, que são then e catch Mas primeiro, precisamos chamar a função pro, e dentro dos parênteses, precisamos enviar valor, e nosso valor é t dt Se nosso problema for resolvido, dentro dos parênteses, precisamos chamar a função de preenchimento, e vou duplicar essa linha para fins de ressecção e, desta vez, e, desta vez, E dentro do parêntese, precisamos chamar a função de ressecção Por enquanto, não preciso dessa seção de bloqueio de pontos do console, então vou removê-la. Se eu definir esse arquivo, você pode ver no meu console, ele é impresso, eu sou bem-sucedido. Como eu disse, a promessa tem três estágios. O primeiro está pendente, depois resolva e resseque. Vamos falar sobre pendências. Nós o usamos antes da entrega da promessa. Quando eu retornar a função, dentro da função, primeiro, vou amarrar o log de pontos do console, por favor, espere. Agora está em fase pendente. E então eu vou usar a função set time out. Defina o tempo limite e, em seguida, vou criar a função de seta. Eu cometi um pequeno erro. Temos que escrever o estágio pendente dentro da função de promessa. Vou selecionar essa seção e movê-la para dentro do método promise. Dentro da seção de tempo limite definida, vou passar essa condição P e quero passar essa condição por 4.000 Se eu definir esse arquivo, você pode ver no meu console, primeira impressão, aguarde, e precisamos esperar pela segunda vez. Mas depois de imprimir, eu sou bem sucedido. Eu imprimo, por favor, espere duas vezes. Para resolver esse problema, vou usar a cadeia de métodos e fazer com que ela e a função catch one liner. Vou remover essa função de cache e, após o não preenchimento, capturar pontos na Agora, se o resultado for verdadeiro, é chamado de função de cumprimento E eu falso, ele chama a função de ressecção. E se eu definir esse arquivo, você pode ver na minha seção de console impressão hospedada, aguarde. Precisamos esperar pela segunda força. Então imprime, eu sou bem sucedido. Da mesma forma, se eu passar o parâmetro false e definir esse arquivo, precisamos esperar pelo segundo force. E então imprime “Eu falhei”. Por favor, é nossa mensagem pendente. Usamos a função set timeout porque leva muito tempo para cim os dados do servidor Deixe-me te mostrar uma coisa. Se você não quiser criar essa função, você pode. Nesse caso, você chama essa função diretamente na seção then ou catch. Vou copiar essa função de resultado e chamá-la dentro da função then. Da mesma forma, eu chamo a função error em nossa função catch e vou comentar essa linha anterior. Se eu salvar esse arquivo, primeiro ele é executado no estágio pendente e depois imprime, acho que enviamos um valor falso para nossa função profissional. Além disso, podemos passar vários argumentos para nossa função pro. Por enquanto, eu não preciso dessa linha, então vou removê-la. E dentro da minha função profissional, vou passar dois parâmetros, dois e sete. Dentro da minha função, vou usar dois parâmetros x e y. Em seguida, insira a promessa, pego outra variável Z, Z igual a x e multiplique por y. Em seguida, insiro a função de tempo limite definida, eu concluo a substituição da variável por z. Se a multiplicação for possível, então, dentro da função de resultado, vou usar o método de string tentado Dentro dos tiques traseiros, seu resultado, dois pontos, porta senoidal dentro do cliras Z, Da mesma forma, dentro da função rest, vou enviar uma entrada errada. Se eu definir esse arquivo, primeiro, precisamos esperar quatro segundos. Então você imprime nosso resultado, 14. Como passamos para o valor numérico , nossa condição é verdadeira Mas se passarmos um valor de string, o que acontecerá? Vou passar um valor de string como argumento. Sete substitui por t pequeno. Se eu definir esse arquivo, agora você pode ver na minha conzona É uma entrada errada de impressão. Basicamente, lidamos com erros usando o método de promessa. Espero que agora você entenda o que é promissor no Javascript Avançado e por que e como o usamos. Obrigado por assistir a este vídeo. Nos vemos no próximo tutorial. 19. Prometa tudo: Olá, pessoal, é bom ver vocês de volta. No vídeo anterior, abordamos um tópico chamado promessa. Essa é a segunda parte do mesmo tópico. Neste vídeo, aprenderemos o método de prometer tudo. Usamos a promessa para verificar uma condição. Ou nossa promessa será resolvida, será ressecada Se nossa função for resolvida para o trabalho posterior, usamos a função then. Se nossa função for ressecada, usaremos a função de cache para mostrar nossa mensagem de erro Suponha que tenhamos essa situação, temos muitas promessas semelhantes. Se usarmos a função then ou cache para todas as promessas, nosso código ficará muito longo Para resolver esse problema, uma nova função foi introduzida na versão seis do Java Script S. Prometa tudo. Podemos verificar todas as promessas de uma só vez com essa função. No nosso caso, temos três promessas. Além disso, você pode verificar milhares de promessas de uma só vez. Como você sabe, toda promessa tem um resultado. Talvez resolva, talvez seja descansar. Se nossa promessa for resolvida, você sabe, então usamos a função then. Mas você precisa se lembrar de uma coisa. Se toda a promessa for resolvida, somente dessa vez, você poderá usar a função then. Se alguma das promessas escritas permanecer , você chama nossa função catch. Deixe-me explicar mais uma vez. Se tivermos várias promessas , podemos verificar de uma só vez usando a função promise dot all. Se toda a nossa promessa for resolvida, ela executará nossa função then. Se alguma das promessas faltar , ela chama a função de verificação. Deixe-me mostrar a síntese. Como podemos escrever a função promise dot all? Suponha que tenhamos uma promessa NMP one. E dentro da promessa, você pode ver, eu crio uma função. Dentro da função, imprimo uma mensagem em nosso console, prometo uma, e vou resolver essa promessa. Eu chamo a função de resolução e imprimo uma mensagem. Da mesma forma, eu crio outra promessa chamada P two. E dentro do log do console e da impressão, nossa mensagem é a promessa dois. Também resolvo essa promessa e envio a segunda mensagem, e agora quero verificar essa promessa de uma só vez. Para isso, podemos usar nossa função promise all. Quando usamos a função dot all, dentro da resolução redonda, podemos usar array e podemos passar várias promessas, algo assim. Dentro do recesso quadrado, p1p2. Se tivermos 50 promessas, seguindo o mesmo método, podemos verificar todas as promessas. Basta usar coma e digitar o nome da promessa. Há uma vantagem em usá-lo. Temos que chamar a função then e catch pela primeira vez. Não precisamos usar as duas funções várias vezes. Dentro da função then and catch, podemos digitar nossos diferentes códigos. Vou te dar uma demonstração prática, e é hora de voltar ao meu retor de código do iso studio Então, finalmente, estou de volta ao meu editor de código Visual Sudo. Você pode ver, lado a lado, que abro meu editor de código do Visual Studio e abro meu navegador usando a extensão Life Server Primeiro, vou digitar nossa tag de script. Então, dentro dessa tag de script, vou criar nossa primeira promessa. P tardio igual a uma nova promessa. Dentro do processo descendente, vou criar uma função de seta. Como você sabe, nossa promessa sempre retorna um resultado. Ou está resolvido, ou é resultado. Como resultado, vou usar uma resolução de nome variável. Para descansar, vou fazer um descanso variável. Você pode digitar qualquer nome. Dentro dessa função, vou usar a função set time out. Dentro dessa função de tempo limite definida, vou criar a função de seta Vou guardar nosso código pois usaremos várias promessas, e seus horários são diferentes, e quero executar nossa primeira promessa tter mais Eu digito um multiplicado por mil. Quando eu ligo para essa mensagem, ela imprime algo em nosso console. Vou digitar o log de pontos do console dentro do latão redondo, a primeira promessa foi resolvida E então eu vou chamar nossa função de resultado. Presumo que nossa função sempre foi resolvida e quero enviar um valor numérico em nossa função de resultado. Eu empatei cinco. Essa é nossa primeira promessa. Da mesma forma, vou criar outra promessa. Eu seleciono o código e o duplico. O nome da promessa é P two, e também vou imprimir em nosso console. A segunda promessa foi resolvida e, em nossa função de resultado , enviarei dez como valor e quero atrasar essa promessa por 3 segundos. Da mesma forma, vou criar outra promessa. Eu seleciono a promessa e a duplico. O nome da promessa é P three. Consol dot log, vou enviar uma mensagem. A terceira promessa foi resolvida. E na minha função de resultado, vou usar os primeiros 30 como valor e quero atrasar essa promessa por 5 segundos. Agora eu quero verificar todas as promessas de uma só vez. Vou usar o método promise dot all. Vou digitar o ponto prometido todo o recesso redondo Se você quiser verificar várias promessas, precisará usar. Dentro desse recesso quadrado, tipo de poste, P um, P dois, P três. Esse método vai verificar todas as promessas uma por uma. Em seguida, vou usar a função then para resolver. Também vou usar a função de cache para capturar pontos restantes. Se alguma dessas três promessas for ressecada, ela executará a função de cache automaticamente Lembre-se, então, e o problema são nossas funções de covec. Dentro da função then, vou criar uma função de seta. Nome do resultado. Dentro da resis ci, você pode ver aqui que cada função enviou um resultado em nossa função de resultado, cinco, dez, 30, e eu quero imprimir todos os três de uma vez Registro de pontos do console, dentro do latão redondo, vou usar a string modelo metil Dentro das pontas traseiras, resultam dois pontos, um dólar, uma sena dentro do quadrado É primavera o valor do resultado, que obtemos da função resolve. Da mesma forma, vou criar uma função de seta dentro da nossa função catch. E o nome da nossa função é error e, dentro do console, ele imprimirá uma mensagem de erro. Basicamente, eu crio três promessas diferentes e, toda vez que imprimo uma mensagem em nosso console, cada promessa envia valor diferente na função de resolução. Como você pode ver, cinco, dez e 30. Vamos configurar o arquivo. Se eu mostrar meu console, você pode ver primeiro se a primeira promessa impressa resultou. Depois de dois segundos, ele imprime nossa segunda mensagem. Depois de cinco segundos, ele imprime nossa terceira mensagem. No final, obtemos nosso resultado como uma matriz de. Se você quiser calcular o valor dos nossos resultados, sim, você pode. Dentro da minha função de então. Precisamos usar um loop estrangeiro. Então, insira a função then. Mas primeiro, precisamos definir uma variável. V total igual a zero. Em seguida, insira a função then para inserir a base redonda Como resultado, quero adicionar todos os valores Aceite o valor em nossa variável total. Eu empatei o total mais igual ao resultado. Nosso resultado é uma matriz. Dentro do quadrado ss, precisamos definir nosso item. I. Além disso, quero mostrar o resultado. Eu dupliquei essa linha de console e dentro da parte traseira funciona. Eu digito total e dentro da resina do carro, vou passar o valor total da variável Agora vou salvar esse arquivo. Como você pode ver, ele imprime nossas mensagens de promessa e, por fim, imprime nosso valor total. Se todas as funções estiverem em execução, nossa promessa é que todos os métodos chamem e depois funcionem. Se algum método escrito descansar, então nossa função de promessa escreveu a função catch. Vou respeitar uma das promessas. No nosso caso, prometa três. Eu comento a função de resultado e vou chamar a função de respeito e imprimir a mensagem restante. Se eu definir esse arquivo, você pode ver no meu console, ele é impresso. A primeira promessa foi resolvida. Em seguida, imprime, a segunda promessa foi resolvida. Para nossa terceira promessa, ela imprime, a terceira promessa tem descanso e nosso método de promessa executa a função catch, error rest. Nossa função then não funcionou aqui e vou mostrar outro exemplo. Você pode ver que essas três promessas são um tipo de promessa muito semelhante. Nós podemos torná-lo menor. deletar essas duas promessas. Vou criar uma nova promessa aqui e vou converter essa promessa em uma função. Primeiro, eu crio uma promessa. Em seguida, insira a promessa, vou chamar uma função comum. E o nome da nossa função é pro call, e dentro da função, vou passar dois parâmetros. Para o valor resolvido, vou passar um parâmetro numérico e, para a mensagem de log de pontos do console, vou passar o parâmetro string Primeiro. Essa é nossa primeira promessa. Da mesma forma, vou criar duas outras promessas, P dois e P três, e também mudarei nossa mensagem. Como resultado, vou passar 15 e, para nossa mensagem de console, vou passar em segundo lugar. Da mesma forma, para a promessa três, o valor da resolução é 20. E o valor do nosso console é o terceiro. Mas primeiro, precisamos criar uma função chamada pro call. Agora eu quero fazer do nosso tempo limite definido uma função, não uma promessa. Eu removo o código e vinculo chamada profissional tardia à função. Dentro da função, nosso primeiro parâmetro são dados gravados e nosso segundo parâmetro é mensagem. Dentro dos dados escritos, vamos passar dez, 15, 20. Dentro da variável de mensagem, vamos passar primeiro, segundo, terceiro. Você pode digitar qualquer nome e agora vou usar esse parâmetro em nosso console. Registro de pontos do console dentro do registro de pontos do console, vou torná-lo dinâmico dentro das tomadas traseiras, do clibrass do dólar, dentro das calibragens, nossa mensagem. Se nossa promessa for resolvida, ela enviará dados gravados como valor, e eu quero alterar a função de tempo limite definida dinamicamente Então, vou enviar o valor dos dados de retorno em 100. Na primeira vez, ele demora mais uma vez, depois demora 1,5 segundo e nossa terceira promessa é atrasar 2 segundos. Sabemos que toda função de promessa retorna algo, resolva ou descanse. Mas não criamos nenhuma função básica, que retornará resolve ou rest. Vou cortar a função de tempo limite definido, criar uma função básica e enviar dois parâmetros, resolve e descansa. Dentro das calibragens, vou colar nossa função de tempo limite definida É uma função anônima. Vai retornar a promessa. Quando chamamos a função procol, ela é escrita como função anônima Precisamos digitar uma palavra-chave escrita para isso. É basicamente uma função, que chamamos em nossa função de promessa. É uma promessa, ela retornará, será resolvida ou descansará, e então você mostra nossa mensagem dinâmica. Defina um tempo limite e não precisaremos mudar nada. Vou configurar o arquivo. Você pode ver no meu console, ele imprime dinamicamente nossas mensagens Se você quiser alterar o valor da resolução, sim, você pode. Vamos mudar isso. Nosso primeiro valor é 20, nosso segundo valor é 40 e nosso terceiro valor 60. Se eu definir esse código, nossa primeira promessa é atrasar dois segundos. O próximo é um atraso de quatro segundos. Depois de seis segundos, ele imprime nossa terceira promessa, e então você imprime nosso total de 120, e agora eu vou criar outra promessa, que retornará o valor de ressecção Eu dupliquei essa linha. E mude o nome P quatro. Dentro dessa promessa, vou criar uma função anônima e usar dois argumentos, resolver e descansar. Desta vez, quero chamar a função de descanso. Dentro da função de descanso, vou passar uma mensagem. A quarta promessa acabou. Quando eu defino o código, nossa promessa todos os métodos chamarão a função catch. Vamos definir o código e ver o que aconteceu. Mas antes de definir o código, precisamos chamar essa promessa em nossa função promise all, P três, P quatro. Se eu definir a pontuação, você poderá ver meu console. Primeiro, ele imprime o erro. A quarta promessa foi rejeitada, depois executa nossa promessa uma por uma, e não há valor total em nosso console porque nosso método de promessa escreveu a função catch. Espero que você entenda o que é o método de promessa e agora saiba por que e como usamos o método de promessa. Obrigado por assistir a este vídeo. Nos vemos no próximo material. 20. Introdução ao Ajax: Olá, amigos, é bom ver vocês de volta. Este é o nosso curso avançado de Javascript. Neste vídeo, vamos aprender o que é jx. Vamos tentar entender qual é o significado de machado. Todos os caracteres que você vê dentro do machado têm alguns significados. A significa sincronização e J significa Javascript, A significa n e x significa XML XML é algum tipo de formato de dados. Basicamente, o az X costumava criar páginas da web rápidas e dinâmicas. Primeiro, vamos tentar entender como podemos tornar nossa página primeira e dinâmica usando o ax. Suponha que tenhamos nosso site. Temos cabeçalho, nunca e lateral em nosso site, e também temos uma barra de conteúdo, e agora quero criar página separada para todos os links Mas quando clicamos em qualquer link, quero carregar apenas essa parte do conteúdo, não o site inteiro. Sem conteúdo, tudo é o mesmo dentro da página da web. Como NBA, cabeçalho, lateral. Não quero carregar nosso JavaScript CSS toda vez. Você pode entender o quão rápido ele se tornará por causa disso. Vou te mostrar outro exemplo. Suponha que tenhamos uma barra lateral em nosso site e eu queira mostrar o aviso de atualização atual nesta seção Também quero que o usuário não precise reformular esta página para obter a atualização Isso também é possível com o AX. Vamos tentar entender basicamente como as AZx funcionam. Suponha que eu tenha um cliente e um servidor. O cliente solicita ao nosso servidor um conteúdo e, em seguida, nosso servidor envia uma resposta, e essa resposta pode conter qualquer arquivo ou dado. Tudo isso acontece aqui, quando o servidor responde ao nosso cliente , o cliente precisa reprimir esta página para obter os dados Mas se estamos falando sobre o AX, é um pouco diferente. Nesse caso, o servidor não envia dados diretamente ao cliente. Usamos o script Java entre eles. JavaScript tem uma classe especial, somente para solicitação AX, name, XML STDP. Por esse motivo, tudo o que quisermos enviar para a solicitação em nosso servidor, ele ficará em segundo plano. Em seguida, a solicitação vai para o servidor e traz a resposta do servidor e, sem atualizar nossa página, mostra o conteúdo, e esse conteúdo pode ser de três tipos Talvez seja um arquivo de texto normal, seja dados formados em XML, caso contrário, dados JSON Podemos dividir todo esse processo em cinco etapas. Em Java Script, chamamos as cinco etapas de estado pronto. Você precisa se lembrar do nome do estado pronto porque usamos esse nome para trabalhos futuros. Vamos definir as cinco etapas. Nosso primeiro passo é zero. Aqui, não inicializamos nenhuma solicitação. É totalmente neutro e , em seguida, vem nosso primeiro passo. Conectamos nosso servidor ao sistema local? Só então podemos enviar a solicitação. Em nossa terceira etapa, o servidor começa a processar qualquer solicitação que enviamos assim que o processamento do servidor é concluído e , em seguida, vem nossa quarta etapa Nesta etapa, nosso processamento está concluído e o servidor está pronto para enviar a resposta. Use isso em nossa linguagem de codificação. Basicamente, lembramos desses códigos, zero, um, 234. Cada código tem um significado. Se eu enviar o estado três do redis, significa que o servidor está processando nossa solicitação Se eu disser que eu disse quatro, significa que o servidor enviou nossa resposta. Vamos falar sobre o que obtemos na resposta. Basicamente, obtemos duas coisas do servidor. O primeiro é o status e o segundo são os riscos de resposta Se solicitarmos um texto, eles precisarão de um texto de resposta. Se solicitarmos XML, resolva o XML. Essas são propriedades do script Java. Podemos usá-lo em nossos códigos. Se recebermos texto de um servidor , usaremos texto de resposta. Da mesma forma, se obtivermos XML , usaremos XML de resposta. Se eu falo sobre status, basicamente status é um código. Com esse código de status, podemos verificar tudo o que obtemos do servidor. Está correto ou não? Dentro desse status, basicamente é enviar três códigos. Primeiro é 200, depois 403 e 404. Cada código tem seu próprio significado. 200 significa que, o que você solicitar ao seu servidor, se ele atender à sua solicitação, ele enviará o status e, em seguida, enviará o status 200. Então vem 403. Se o servidor não responder à sua solicitação, talvez haja um problema nesse servidor. Por fim, é enviar 404. Quer dizer, tudo o que solicitamos ao nosso servidor, ele não está disponível no servidor. Há muitos códigos de status. Mas esses três são muito básicos. Se você quiser saber mais sobre status, basta pesquisar no Google, um status de CDP. Você aprende como funcionam os Ajs. E agora vamos aprender como podemos escrever S X em nosso JavaScript. Primeiro de tudo, precisamos criar um objeto usando a solicitação X ST TV, e já aprendemos sobre classes de objetos em nossos vídeos anteriores. Você pode usar seu próprio nome de variável. Isso não é obrigatório. No meu caso, o nome da nossa variável é X HTP, e eu crio um objeto usando essa classe, que é a solicitação XML HTP. Usando esse objeto, podemos enviar qualquer solicitação ao nosso servidor e também podemos obter qualquer resposta do nosso servidor. Se você quiser acessar qualquer arquivo de um servidor, nesse caso, temos dois métodos, Open e SN. Precisamos usá-lo juntos. Nosso primeiro método vem com três parâmetros. Nosso primeiro parâmetro é método e nosso segundo parâmetro é nome do arquivo. Indique qual arquivo você deseja acessar. Nosso terceiro parâmetro é mais ASNs. Vamos falar sobre esses parâmetros. Nosso primeiro parâmetro é método. Basicamente, temos dois tipos de métodos, get e post. Se usarmos a marcha para enviar dados, qualquer pessoa poderá ler os dados Se você não quiser mostrar dados para ninguém, nesse caso, você precisa usar o post. Por que tentamos fazer login em um site? Nesse caso, usamos o método post, porque não queremos mostrar detalhes de login para ninguém. Mas se você pesquisar uma consulta no Google ou no YouTube, poderá ler sua consulta na barra de URL. Em seu segundo parâmetro, precisamos fornecer o arquivo. No nosso caso, é um arquivo txt. Pode ser qualquer arquivo, arquivo Python, arquivo PHP, arquivo JS, e nosso último parâmetro é Async Eu tenho apenas dois valores, verdadeiro ou falso. Verdadeiro significa que você abre, lua assíncrona significa assíncrona e, no próximo vídeo, abordarei o abordarei que é Mo assíncrono. Apenas lembre-se de uma coisa. Se o seu modo *** for verdadeiro, o resto do trabalho será feito até que os dados venham do servidor Se definirmos false, nosso arquivo não executará nosso próximo código até obtermos uma resposta do servidor. Eu sugiro que você sempre defina esse valor como verdadeiro. Esse é o nosso método aberto. Para enviar essa solicitação, usamos outro método chamado send. Para ajudar nesse método, enviamos nossa solicitação para o servidor. Com isso, sempre verificamos o estado pronto. Ele nos diz se a solicitação está vindo do servidor ou não. E temos uma função diferente para verificar esse estado pronto, que é a mudança de estado pronto. Da mesma forma, eu uso o nome do meu objeto e, em seguida, uso meu método de mudança de estado pronto. Funciona como um evento. Sempre que nosso servidor envia um tipo diferente de status, ele imprime automaticamente esse status. Basicamente, nesta função, verificamos uma condição. Para verificar o status do servidor, precisamos usar a condição IP, algo assim. Se dentro da rodada ss, esse ponto diste igual a quatro e esse ponto thetus igual a 200, já aprendemos sobre Temos cinco dietas diferentes. Se o valor da distância for quatro e nosso status for 200, então, o que quer que obtenhamos do servidor, podemos definir isso em nossa página de estimativa, algo assim Você pode ver o ponto do documento obter elemento por ID, e podemos segmentar este mil elementos usando ID. No nosso caso, nosso ID é demo e podemos definir o elemento em nosso estil igual a esse texto de resposta em pontos Isso significa que qualquer texto que obtemos do servidor, podemos definir em nossa estrutura de estilo. Deixe-me explicar isso mais uma vez. Primeiro, vou criar um objeto. Usando um nome de classe, solicitação XML STDP. outras palavras, vou usar um X. Em nossa função de abertura, precisamos definir qual arquivo eu quero abrir Além disso, precisamos definir o modo ASI como verdadeiro porque não quero interromper minhas outras funções. Usando o mesmo método, enviamos nossa solicitação. Com isso, sempre verificamos nosso status de descanso. Se o estado do redis for f, significa que obtemos nossa resposta do servidor Em seguida, podemos mostrar nossa resposta em nosso arquivo STL. Não precisamos atualizar nossa página inteira para obter dados atualizados Eu atualizo apenas nossa seção de teste específica, não a página inteira Vamos começar a prática. Mas antes de começarmos a prática, quero dizer uma coisa. Se você quiser executar o AX, precisará do Lip Server. Você pode comprar seu próprio servidor Lip. Caso contrário, você pode usar o ZM ou o Amoral host Server, mas vou usar o Life Server embutido do nosso editor VSO Studio Cod mas vou usar Life Server embutido do nosso editor VSO Esta é minha recomendação pessoal. Você pode experimentar o editor de código do Viso Studio. Sem o Live Server, isso não é possível. É hora de voltar ao meu editor iso Studio Cod. 21. JavaScript avançado: tutorial do Ajax: Assim, você pode ver, lado a lado, que abro meus selos no seu editor de código e abro meu navegador usando a extensão Live Server Eu já crio um arquivo estel no meu diretório e quero carregar um arquivo de texto no meu arquivo estel de ponto índice usando S X. Eu crio um arquivo X. Eu crio de texto com o nome text dot txt Você pode ver que dentro deste arquivo de texto, eu escrevo algum texto. Olá, sou um arquivo de texto. Vou carregar esse arquivo no meu arquivo Index dot est usando S X. Vou criar uma tag de parágrafo e nosso ID está escuro Dentro deste parágrafo, vou digitar aqui carregamos dados e agora vou criar um botão. Sempre que clicamos no botão, ele traz todo o texto do texto dot text de file e imprime dentro da tag do parágrafo, e nosso nome inferior é click, e eu vou usar nplick Dentro de um clique, vou usar uma função, carregar dados. Dentro dessa função, vamos criar nosso S X. Se eu salvar esse arquivo, você pode ver no meu navegador ele imprime nossos dados estáticos Primeiro, vou criar uma tag de script e, dentro da tag crypt, vou criar uma função chamada load data Como eu disse anteriormente, primeiro, precisamos criar um objeto usando a classe de solicitação HTTP XML. Vou pegar uma variável, que é X HTP, igual à nova classe de solicitação HTTP XML Você pode usar qualquer nome para sua variável. Então eu vou abrir meu objeto. Vou usar a função TP dot open. Como parâmetro, primeiro precisamos declarar nosso método, e eu vou usar o método Git, e então precisamos declarar qual arquivo eu quero acessar. Guarde seu arquivo. Primeiro, vou digitar o nome da nossa pasta, depois o ponto de texto e, em seguida, precisamos enviar o parâmetro blean Se você quiser usar o modo sincronizado, precisará enviar true V. Vou passar true Para enviar essa solicitação, vou usar outro método para enviar TP. A partir daqui, nossa solicitação será enviada ao servidor. Se enviarmos solicitações para o servidor, uma resposta virá de lá. Para verificar essa resposta, vou escrever um código. Ao mesmo tempo, também verificaremos nosso estágio de status. Para isso, vou usar o nome do meu objeto dot. Vou usar um método de mudança de estado pronto. E então eu crio uma função, algo assim. A função será executada continuamente. Sempre que resista, altere seu valor. Dentro dessa função, precisamos verificar se a resposta chegou ou não. Sempre que o valor registrado for quatro, isso significa que recebemos nossa resposta Vou executar uma condição dentro dessa função. Se dentro das corridas descendentes, esse ponto vermelho for declarado igual a quatro, e esse status de ponto for igual a 200, isso significa nosso objeto Nós já aprendemos sobre isso. Apenas lembre-se de uma coisa. Verificamos a resposta do servidor com o estado D, e o arquivo exato que queremos exceder está disponível no servidor ou não. Para verificar esse status, usamos o status de ponto. Se o status for 200, significa que o arquivo está disponível em nosso servidor e insira a função Quero mostrar a resposta exata no meu console. Registro de pontos do console, insira as chaves redondas, esta resposta de pontos txt Usando essa propriedade dot response ts, podemos imprimir a resposta do servidor em nosso console. Deixe-me explicar isso mais uma vez. Primeiro, crio um botão na minha página de estimativa e atribuo uma função a esse botão, nomeando dados de carregamento. Em seguida, crio essa função dentro da minha tag de script e, dentro da função, primeiro crio um objeto chamado X STP. Usando esse objeto, podemos enviar solicitações ao nosso servidor, e eu quero enviar uma solicitação de arquivo de texto com pontos de texto. Usando o método SN, enviamos nossa solicitação e, em seguida, eu uso a propriedade de alteração registrada para verificar o status do servidor. Quando o status do servidor coincide com quatro , dentro desse console, ele imprime o texto. Vamos configurar o arquivo. E eu vou clicar no botão, e você pode ver no meu console que ele imprime todo o texto do nosso arquivo text do text do. Se eu alterar alguma coisa em nosso arquivo de texto, então eu digito hello world e defino esse arquivo, você pode ver no meu navegador, ele recarrega automaticamente nosso navegador porque estamos usando o Live Server e esse arquivo está conectado ao nosso servidor Se eu clicar nesse botão, você poderá ver o conteúdo atualizado. Você pode ver o que solicitamos do servidor, está funcionando corretamente. Se você quiser mostrar essa mensagem em sua página da web, não no console, precisará usar o método de documento Vou elogiar esta linha de log de pontos do console e digitar ponto do documento, obter elemento por ID Dentro do recesso redondo, fornecerei nosso ID de parágrafo, Dm interno EsteML igual a este ponto Se eu definir isso enquanto, e clicar neste botão. Você pode vê-lo imprimir o texto em nosso navegador. Usando o método esteml interno, podemos alterar o conteúdo esteML dentro da tag esteml. Mas a questão é: se recebermos o status de erro, não. Para isso, precisamos criar uma condição SIP. Vou fazer essa condição de IP e alterar I L. Se nosso status for 404, e eu não quiser mostrar 404 massas para o meu cliente Dentro do EstiML interno, vou dizer que não foi encontrado Se o arquivo de texto não estiver disponível em nosso servidor, ele será impresso, não encontrado. Vou configurar esse arquivo. E clique no botão. Você pode vê-lo escrito em nosso conteúdo de arquivo porque esse arquivo está disponível em nosso servidor. Mas se eu mudar nosso nome fino e mudar o texto do meu nome fino em um txt, definir o arquivo e voltar para minha página STL de pontos de índice, se eu clicar nesse botão, você poderá ver no meu navegador que ele é impresso, não encontrado Mas dentro do meu console, ele imprime 404. Você pode definir condições para diferentes tipos de resposta STB. Se eu alterar o texto fino de um ponto TXT e tentar imprimir esse conteúdo em nosso navegador, você pode ver desta vez, ele imprime nosso conteúdo, e agora quero mostrar uma coisa Com nossa tag de console, há outra tag chamada network. Quando trabalhamos com um X, eu envio uma resposta em nossa tag X H R, X significa XML, H significa HTTP, R significa resposta. Você pode ver em resposta que obtemos um arquivo de um servidor chamado text one dot txt, e seu status de servidor é 200 É uma solicitação ASX. O tipo é X HR. Se eu clicar no arquivo txt, você poderá ver a prévia e também a resposta Além disso, você pode ver o tempo. Aqui você pode ver quanto tempo demorou para sair do servidor. Se você clicar no cabeçalho, poderá ver o caminho do URL, o método de solicitação, portão, o código de status e também poderá ver meu endereço remoto. Esse era um texto normal. Mas na vida real, usamos dados JSON Para fins práticos, podemos recuperar dados SN falsos. Existem muitos sites que podem fornecer dados SN falsos, e eu vou usar esse site, o espaço reservado para JSN Se você rolar um pouco para baixo, poderá ver a opção de recurso e usarei os dados da postagem. Ele fornece centenas de dados de demonstração, algo assim. Esses também são dados fictícios, e agora quero mostrar toda essa postagem em nosso site Para isso, copiarei toda a URL e passarei essa URL em nosso método aberto. E eu vou configurar esse arquivo e voltar para o meu arquivo de índice, e vou abrir meu console mais uma vez. Vamos abrir a guia de rede e vou mostrar meu status de X HR. Agora vou clicar no botão. E você pode vê-lo imprimindo todas as nossas postagens no meu navegador. E você pode vê-lo impresso em toda a postagem no meu navegador. Além disso, você pode ver o nome do arquivo após o status 200 tipo X HR, tamanho do arquivo 7,7 kV e o tempo de resposta 624 Você pode ver muitos dados em nosso navegador. Não podemos entendê-lo corretamente e vou imprimi-lo em nosso console. E vou simplesmente descomentar essa linha de registro de pontos do console e não quero imprimir todos os dados em nosso navegador Eu só quero imprimir em nosso console e vou salvar esse arquivo. Vamos apertar o botão de clique. Agora você pode ver em nosso console, ele imprime todos os dados muito bem formatados. Você pode ver títulos diferentes, identificações diferentes, etc Usando o Axe sem atualizar nossa página, podemos recuperar os dados do nosso servidor A última coisa que quero dizer é que você pode ver que é um método longo. Isso pode complicar nosso código. A maioria dos desenvolvedores usa a consulta J para executar um X. Caso contrário, o desenvolvedor usa um novo método chamado FH, que é introduzido na versão seis do Java Script No próximo vídeo, aprenderemos sobre a API F. Obrigado por assistir a este vídeo, fique ligado no nosso próximo Taorial 22. Introdução ao Json: Olá, pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com um novo tutorial. Neste tutorial, aprenderemos sobre o JN. Vamos aprender qual é o uso do JSN? Por que devemos aprender? Agora, vamos tentar entender qual é o significado de Jasen JSN significa notação de objetos JavaScript. Se falamos sobre qual é o uso do JSN, ele é usado para armazenar e trocar dados Agora você pode confundir que o JSN está relacionado ao JavaScript. Não, não é. Não está relacionado ao Java Strip, mas há um motivo pelo qual usamos o Java Strip em seu nome. Há uma coisa no Java Strip, que você chama de objeto literal Caso contrário, objeto Javascript. Quando Jason foi criado, ele é bem parecido com objetos JavaScript. É por isso que era conhecida como notação de objetos Java strip. Mais uma vez, vou te dizer que Java Strip não está relacionado a Jason Ele é usado apenas para armazenar e trocar dados. Agora vamos falar mais sobre isso. Sempre que criamos um site, caso contrário, aplicativo web, isso depende de duas coisas principais. O primeiro é o cliente e o segundo é o servidor. No site do seu cliente, pode ser qualquer coisa. Eu quero dizer que poderia ser um celular, caso contrário, laptop, desktop, etc Sempre que precisarmos trocar dados e obter a resposta no momento atual, caso contrário, muito rapidamente, usamos o JCN entre eles. E como eu disse, JSN não é uma linguagem. É um formato de troca de dados. Sem o JSN, temos outro formato de dados popular, que é o XML Também é usado para trocar dados. Mas, em comparação com o XML, o JN é mais popular e confiável. Mas você pode ter uma pergunta: por que o SN é mais popular? Para entender isso, primeiro precisamos falar sobre seu sintetizador. Se eu falar sobre o formato JCN, parece um objeto JavaScript. Em objetos JavaScript, usamos latão de carro e também usamos K e par de valores Mas o XML é diferente. Esse é o formato de dados XML. Aqui, precisamos usar uma tag como SML para conter dados. Como você pode ver, para o nome, usamos a tag H, usamos a tag S e, para o objeto, como usamos a tag student. Há muitas diferenças entre Json e XML. Vamos ver a diferença entre SN e XML. Primeiro, eles estão cheios de. JN significa Java strip object notation, mas XML significa linguagem de marcação extensível É um idioma. Mas o JN não é uma língua. A próxima diferença é JN com base no formato de texto, mas XML com base na linguagem de marcação É muito semelhante ao HTML e leva tempo para aprender XML. Mas você pode entender o JSL em dez a 20 minutos. próximo ponto é que o JSN é leve, mas o XML é mais pesado É por isso que o JR é mais popular do que o XML. Etiquetas e propriedades tornam o XL muito mais pesado. Mas a vantagem é que o XML suporta comunicações e espaço de nomes. Mas o JSN não suporta comentários e namespaces. Agora, vamos ver a diferença entre JN e objeto Javascript. Como sabemos, o JSN é muito semelhante ao objeto Javascript, mas não é o mesmo que o objeto Javascript exato. Primeiro, vou mostrar o objeto Javascript. Quando criamos um objeto JavaScript, primeiro declaramos o nome de uma variável Também é só usar Cass para criar um objeto. E dentro dessas calibragens, pegamos a chave, caso contrário, podemos chamá-la de propriedade e valor Da mesma forma que para criar um objeto JSON, aqui precisamos usar clibrass Mas a diferença é que devemos nome da propriedade entre aspas duplas. Além disso, precisamos usar aspas duplas para nosso valor. Mas se eu falar sobre o objeto Javascript, não precisamos usar aspas duplas para o nome da propriedade Além disso, podemos usar códigos únicos para o valor. Mas não podemos usar códigos únicos sempre que criamos um objeto JN. Se você quiser imprimir um objeto JN ou um objeto Javascript, quase precisamos seguir o mesmo método. Agora, vamos falar sobre o tipo de dados compatível com JSL. Suporte Jen, tipo de dados de string, tipo dados numérico, tipo de dados de mês, NA, objeto e nulo NA, objeto e Se quisermos enviar um valor vazio, usamos o tipo de dados nulo Caso contrário, se você esqueceu de passar um valor , o BDFal enviará null. Para entender todos os valores, aqui eu crio aqui eu No começo, como eu disse, precisamos tomar cálices Então, dentro das calices, aqui estamos nossa primeira propriedade, que é ID, e como eu disse, precisamos usar códigos duplos para obter o nome da propriedade Então, aqui usamos o tipo de dados numérico. É por isso que não usamos códigos duplos. Nossa próxima propriedade é name, mas para nome, aqui eu uso o tipo de dados string. É por isso que precisamos encarar isso de forma dupla e, para casados, aqui eu uso o tipo de dados enxuto. É por isso que aqui eu entendo que é verdade e, por um valor, não usamos nenhum cadáver duplo Se você usa o tipo de dados booleano, aqui você pode passar um valor verdadeiro, caso contrário, falso Mas no próximo exemplo, como você pode ver, aqui você não envia nenhum dado. Por padrão, ele vai definir ML V e, para essa propriedade de hobby, aqui eu uso valor. É por isso que eu uso resina quadrada e dentro da resina quadrada, pegamos os valores Para um endereço, aqui usamos o tipo de dados do objeto. É um objeto. É por isso que atrás take crass. Mas se você notar em nossa próxima propriedade um veículo, herege, objeto múltiplo Dentro desse objeto, herege, há vários objetos, e ele é chamado de objetos aninhados Esses são os tipos de dados que podemos usar no JN. Agora, vamos falar sobre as vantagens do JN. Jason vem com formato legível por humanos. Qualquer pessoa pode entender facilmente Js. Se alguém não tem experiência em linguagens de programação, ele também pode entender Jason A próxima vantagem é que ele é completamente independente do idioma. Podemos usar J com todas as linguagens de programação, como Python, PHP, Java Strip, coin, Java, qualquer linguagem que você Além disso, o JN é muito leve de usar. Enviamos dados do servidor para o cliente em formato JN. A regra JN P P no AX também gerou API, caso contrário, em AAPIs. É por isso que o JaSN é tão importante. Mas há uma grande desvantagem da JSN. Não podemos transferir nenhum arquivo de mídia conforme formado pelo JN. Não podemos transferir imagens de áudio, vídeo ou qualquer informação binária. Aqui, podemos passar apenas informações baseadas em texto, e aqui está outra coisa importante que aprenderemos em nossa sessão prática. Isso é tudo para este tutorial. No próximo tutorial, vou começar a parte prática sobre a JSN Obrigado por assistir a este vídeo, Estátua. 23. Json prático: Olá, pessoal, é bom ver vocês de volta. Finalmente, estamos no meu médico do Visual Studio. Como você pode ver no meu diretório de trabalho atual, há dois arquivos. O primeiro é o Index dot Stable e o segundo é o arquivo First dot JN. Sim. Para criar um arquivo JN, precisamos usar a extensão Dot JN. Vamos falar sobre o arquivo JCN. Como você pode ver, nosso arquivo JCN começa com calices. Como eu disse, para criar um objeto JCN ou armazenar dados, precisamos usar Cardss Então, dentro do Css, temos propriedade e vista. Se você notar, você pode ver todas as propriedades estão em núcleos duplos. Nossa primeira propriedade é name e é uma string DataV Nossa segunda propriedade é H e é o número de Data IVs. Nossa terceira propriedade é o homem, e é o ouro de Data IVs. É por isso que o tipo cai. Quarto dado Vs, nulo. É por isso que o tipo de calor tem um valor nulo. Se você passar algum valor, BDFol será Nosso segundo dado V é A. É por isso que ele armazena vários resultados, hobby, dança, futebol, críquete e nossos últimos dados IVs do tipo de dados do objeto. Para criar o tipo de dados do objeto, precisamos usar calices, e eu defino o Calise, aqui usamos algumas outras propriedades, P país e estado Esses são os dados do JCN que vou usar em nosso script Java Basicamente, o JSN é usado para enviar dados desse servidor para o cliente É por isso que, sem o servidor, não podemos executar o JSN corretamente. Sim, você pode correr. Primeiro, você precisa converter o objeto JavaScript em dados SN. Então você pode executá-lo sem servidor, mas esse não é um bom processo. Porque na vida real, não usamos assim. Agora, quero usar esses dados SN em nosso arquivo STL de pontos de índice Vamos entrar no arquivo STL de pontos de índice. Aqui você pode ver dentro dessa tag de script que H eu crio uma solicitação de nome de variável. Isso vai muito bem enviar uma nova solicitação STTP para o nosso servidor Então nossa variável requer ponto, aqui eu uso abrir uma função. Em nossa função aberta, temos o método do produto dois, portão e poste, e aqui eu uso o método de portão. Então Harry passa o arquivo de origem significa o primeiro ponto SN. Esta função de abertura abrirá o arquivo JN do servidor. Em seguida, uso a função reque dot sen e dentro da prensa redonda, forneço um argumento nulo Aqui usamos valor nulo porque aqui não enviamos nenhum valor para o nosso servidor Só quero obter o arquivo JCS desse servidor. Agora, do nosso servidor, ele retornará uma resposta de texto. Depois de obter essa resposta de texto, precisamos converter a resposta de texto em um objeto Javascript para que isso use apenas uma função, que é partes. Aqui eu crio dados variáveis. Dados significam o que obtemos do arquivo JN igual a e aqui eu uso uma função chamada N dot parse Então, dentro do processo redondo, a solicitação significa esse texto de resposta de ponto de solicitação variável porque, como eu disse, todos os dados de Jen estão em formato de texto Essa função converterá esses dados SN em um objeto e armazenará sua variável de dados. Agora, se eu fixar essa variável de dados em nosso console como baixa, poderemos ler os dados Vamos abrir o arquivo sem servidor. Aqui você pode ver, eu não executo meu servidor ativo. Quero abrir esse arquivo de tabela a partir do diretório. Se eu abrir esse arquivo de tabela a partir do diretório, como você pode ver na minha tela, ele não mostrará nada. Mas se eu mostrar meu console e mostrar a seção do console, aqui você poderá ver muitos erros. Porque para executar uma solicitação STTP externa, precisamos de servidores. Vamos ver o código do Avis Studio. Agora vou executar o mesmo arquivo com o servidor ativo. Herroc, a opção, ir viver. Depois de pressionar, vá ao ar, ele abrirá meu arquivo no servidor. Agora, se eu mostrar por que seção Hroca do console vê o objeto Se eu abrir este objeto, agora você poderá ver todos os dados do nosso objeto, licença, endereço, hobby, nome, etc., status de mérito, tudo isso Agora você converte os dados JN em um objeto. Podemos acessar todas essas propriedades uma por uma. Além disso, você pode realizar cálculos matemáticos e qualquer coisa. É assim que usamos o JSN. Se você quiser acessar os dados e, particularmente, imprimir o nome, basta digitar o nome da propriedade do ponto de dados, que é nome. Se eu definir esse arquivo e voltar para o meu navegador, aqui você pode ver no meu console, agora é imprimir apenas o nome, adicionar um. Como eu disse, agora é totalmente um objeto Javascript, então você pode fazer um caminho com ele. Só você precisa lembrar que a função Jen dot parts convert Jen leva dados para um objeto Javascript. Ao contrário, se você quiser converter objeto Javascript em um JN leva dados, nesse caso, você precisa usar o método JN dot stringify Deixe-me te mostrar. Aqui, vou declarar outra variável W e o nome da nossa variável é OBJ. É o objeto. Objeto igual a, é que a calrass, nossa primeira propriedade é nome Em vez disso, nomeie o duplo cos, adicione um. Nossa segunda propriedade é. o dobro for válido, caso contrário, vou usar o valor pneumônico, então não precisamos de núcleos duplos, 30, e nosso terceiro valor é cidade Cidade e dentro das duplas, a cidade é Nova York. Esse é um objeto Java Script. Agora, precisamos converter esse objeto Javascript em uma string SN. Para isso, vou declarar outra variável. Aí está e o nome da nossa variável é meu JSN. Como eu disse, você deve converter um objeto Javascript em um objeto JN em dados JN. Precisamos usar o método N dot string. Digite uma sequência de pontos JN. Então, dentro da prensa redonda, precisamos passar o nome do objeto, que é B j, e Segra para essa linha Agora vou imprimir esses dados do JN, caso contrário, texto na minha etiqueta corporal. Aqui eu vou criar uma tag profunda. Não, vou pegar uma tag de parágrafo, P, e vou atribuir uma ID a esse parágrafo, ID demo. Antes e agora, vou usar o dorm para imprimir os dados SN na minha tag de parágrafo Hm digite docu getElemen por ID e defina o ss redondo ou o nome do ID é demo Eu quero dizer descanso interno. Teste interno igual a JS e sem dois nesta linha. Se eu definir esse arquivo e mostrar meu navegador, como você pode ver, ele não está funcionando porque precisamos mover essa tag de script abaixo da tag de parágrafo. Vou cortar essa parte e movê-la para baixo da tag do parágrafo e definir esse arquivo novamente. Agora, se eu mostrar meu navegador, você pode ver o resultado. Como você pode ver, ele está presente nos dados do texto como está. Se você notar, poderá ver que é um dado de Jen porque está dentro da resolução C. Além disso, também para o nome das propriedades, ele usa códigos duplos. É assim que podemos usar Jen em Java Script. Vamos aprender mais sobre isso em nosso próximo tutorial. Não se preocupe Quando aprendemos sobre A X e API, Jason desempenha um papel fundamental Obrigado por assistir a este vídeo, fique ligado no nosso próximo tutorial 24. Introdução à api de busca: Olá, pessoal, é bom ver vocês de volta. Mais uma vez, estou de volta com um novo tutorial relacionado a JavaScript adverso. Neste tutorial, aprenderemos um novo método, que é H. Em nosso tutorial anterior, aprenderemos sobre S X. Com isso, aprenderemos um novo método chamado solicitação XML STDP Com a ajuda dele, podemos usar o SX em JavaScript. Mas isso tem pouca vantagem de Di porque precisamos escrever alguns códigos de programação desnecessários Para resolver esse tipo de problema, o JavaScript introduz um novo método, que é f. Usando o método fh, podemos fazer tudo, o que fizemos com o ASX Basicamente, podemos criar uma aplicação de coalhada usando o método ph Se você quiser inserir dados em seu banco de dados, sim, você pode. Além disso, você pode atualizar seus dados, dados de rádio e excluir dados. É muito rápido em comparação com a solicitação XML STB. Além disso, é muito leve. Agora, deixe-me mostrar a síntese do método F. Em primeiro lugar, precisamos chamar o método fh, prensa redonda fh e algo semelhante a esta linha Então, se você quiser ler um arquivo do servidor, nesse caso, você precisa fornecer o caminho do arquivo, caso contrário, URL, e pode ser qualquer arquivo. Pode ser um arquivo de texto, JCNile, arquivo PHV, qualquer arquivo de site do servidor E esse método de página escreveu uma promessa. Como sabemos, sempre que escrevemos uma promessa, ela pode ser bem-sucedida, caso contrário, falhará. Se nossa promessa for bem-sucedida, precisamos usar a função then. Vamos fazer a mesma coisa com Pah. Como você sabe, usando a função then, podemos fazer nosso trabalho adicional. Mas aqui usamos a função then para imprimir os dados em nosso documento. Porque essa função então também escreveu uma promessa. Novamente, preciso usar uma função then para lidar com essa promessa. Então, novamente, da mesma forma, precisamos criar uma função dentro dessa função then, e essa função receberá a resposta do servidor. Quaisquer que sejam os dados que obtivermos desse URL, caso contrário, do arquivo , enviaremos esses dados para essa função e eles serão armazenados nessa variável. No nosso caso, resposta. E você pode usar qualquer nome de variável conforme desejar, e não fixamos essa resposta em nosso documento. Basta retornar essa resposta. Retorne dados de pontos de resposta. Dados significam formato de dados. Os dados não são um método. Aqui, precisamos mencionar o tipo de dados que recebemos desse servidor. Pegue dados, caso contrário, dados JN. Depois de receber os dados, precisamos enviá-los em outra função then, e podemos lidar com isso assim. Dot, novamente, precisamos chamar a função then e, em seguida, definir a função den como res. Esta é a nossa primeira função depois, e esta é a nossa segunda função depois. Como eu disse, nossa primeira função then também escreveu uma promessa, e precisamos lidar com essa promessa com outra função then. Aqui, obtemos o resultado do nome da variável. Agora podemos usar o resultado final que obtive do servidor. Podemos usá-lo em qualquer lugar. Se você quiser usá-lo com o console, sim, você pode. Além disso, você pode pintar no seu documento. Essa é a parte do sucesso da promessa. Como você sabe, com a promessa, também podemos lidar com a parte com falha para lidar com a parte do erro, precisamos usar a função catch. É assim que, da mesma forma, podemos usar a função de cache para lidar com o erro e imprimir a mensagem de erro. Por último, precisamos usar a função de cache. Então precisamos criar uma função e pegar uma variável, e isso vai armazenar a mensagem de erro. E podemos imprimir a mensagem de erro em nosso console, caso contrário, documente. É assim que nosso método de busca da API F funciona. Mas lembre-se de que, para executar um método de busca, você precisa usar o Live Server O servidor Life é muito importante para executar o método FH. Se você instalar o servidor ativo ZM ou AM, tudo bem. Mas se você não tiver servidores ativos, poderá instalar a extensão de servidor ativo. No nosso caso, vou usar o Visa Studio Coordinator e vamos usar servidores ativos. Com nosso servidor p, FBI, não vai funcionar. Isso é tudo para esse truural. A partir do próximo rural, vamos começar a prática Obrigado por assistir a este vídeo, estátua para o próximo tutorial. 25. API de busca: Você pode ver, eu abro meu editor W e crio um arquivo ESTeML index dot estel Eu abro esse arquivo no meu navegador usando a extensão Libserver, e vou abrir meu console no meu Neste vídeo, vamos ler um arquivo de texto usando o método fetch Você pode ver no meu diretório, eu crio um conteúdo de nome de pasta. Dentro dessa pasta de conteúdo, eu já crio um arquivo de texto. Neste arquivo de texto, eu digito um texto fictício. Quero ler esse arquivo de texto em nossa página ESTiml. Para isso, vou digitar a tag script dentro da nossa tag body. E agora vou usar nosso método fetch. Dentro dos escultores, precisamos fornecer o caminho do nosso arquivo de texto, conter o ponto TXT de texto em barra Sempre que esse arquivo enviar dados em resposta para recuperar esses dados, precisamos usar a função then Então pontilhe. Dentro do recesso redondo, vou criar outra função Recebemos nossa resposta nessa função, então vou criar uma resposta com nome de variável. Você pode usar qualquer nome para essa variável. Mas o fato é que trabalhamos em seis versões, então você pode usar a função de seta. Vou converter essa função em uma função de seta. Para remover a palavra-chave da função , eu uso rosine. Dentro das calibrações, qualquer que seja a resposta que obtivermos do nosso servidor, simplesmente retornamos Mas primeiro, quero imprimir em nosso console o que obtemos do nosso servidor, o registro de pontos do console dentro das chaves redondas, a resposta Se eu definir esse arquivo, você pode ver no meu console. Recebemos muitas coisas do nosso servidor como resposta. URL, corpo, cabeçalho, citação de status, e você já sabe se resposta do nosso servidor for bem-sucedida, nossa cotação de status seria 200. Essas informações não são muito úteis. Só queremos acessar nosso conteúdo principal. Nosso arquivo é texto escrito, então precisamos usar outro método para retomar o texto da resposta em texto Se eu coloquei esse arquivo, você pode ver no meu console nossa estatística prometida foi cumprida e o resultado de nossa promessa é nosso conteúdo de texto Nossa função então escreveu uma promessa. Agora vou retornar o texto porque nossa função then retorna uma promessa. Agora vou criar outra função then após essa função den. Vou copiar a função e vou chamar essa função logo atrás dessa função. Seja qual for nossa primeira função then escrita para armazenar esse valor, vou criar outra variável em nossos novos dados da função then. Agora vou imprimir esses dados em nosso console. Registro de pontos do console dentro dos dados do baixo redondo. Se eu definir esse arquivo, agora você pode ver no meu console, eu imprimo nosso conteúdo exato. O que queremos acessar do nosso servidor? O que queremos acessar do nosso servidor? Além disso, podemos imprimir em nosso navegador. O documento é gravado dentro dos dados do baixo redondo. Se eu definir esse arquivo, você poderá ver meu navegador, ele imprimirá os dados do arquivo em nosso navegador e podemos torná-lo mais pequeno. Basicamente, usamos a função de seta. Não precisamos escrever uma declaração por escrito para isso. Vou removê-lo e transformá-lo em um forro. Vamos seguir a etapa semelhante para nossa segunda função then. Se eu definir esse arquivo, você poderá ver o mesmo resultado. Se usarmos o método patch em nossa função de seta, basta escrever uma linha de código para recuperar dados do servidor H nós recuperamos o texto normal do nosso servidor. Agora eu quero recuperar dados Json do servidor. Para isso, vou usar dados falsos. Eu abro uma nova guia de dados Json falsos. E eu vou usar este site. Espaço reservado JSON Você pode usar qualquer site, mas na maioria das vezes, eu gosto de usar este site. Se eu rolar para baixo Little wet, aqui você pode ver como podemos usar dados SN falsos com a API H. Se você rolar para baixo Little Wet, poderá ver alguns recursos JSON Desta vez, vou acessar os dados do usuário. Se eu clicar nele, você poderá ver os dados de dez usuários. Você pode ver o nome, a identidade, o e-mail , os endereços, são dados falsos, então vou usar esses dados. Você pode ver no meu navegador esses dados JSN estão bem organizados porque eu uso a extensão JN VUR Talvez no seu navegador não esteja bem embelezado Sugiro que você baixe essa extensão, copiarei essa URL e substituirei nosso caminho de arquivo local por essa URL. Agora estamos tentando acessar o JN cinco. Precisamos usar o ponto de resposta JN Math e quero imprimir nosso arquivo JCN no meu console Registro de pontos do console dentro dos parênteses, dados. Se eu definir esse arquivo, você pode ver no meu console, obtemos dez registros como um objeto. E se eu abri-lo, você poderá ver as mesmas informações, nome, nome usuário, e-mail, endereço do usuário, número de telefone do usuário, site do usuário, etc Usando a API Face, podemos recuperar os dados do SNP. Se você trabalha com o arquivo PHP, mesma forma, ele fornece dados SN. Como eu disse anteriormente, quando executamos o método catch, isso não é maldade, é sempre um sucesso escrito. Também pode ocorrer um erro de escrita. Se o arquivo não estiver disponível no servidor, às vezes o servidor não responde para resolver esse tipo de problema, usamos o método catch Vou usar o dot catch. Já aprendemos sobre captura em nossos vídeos anteriores. Insira as chaves, vou pegar um erro de nome de variável. Vou usar a função zero No meu console, vou imprimir nosso erro. Se eu definir esse arquivo, você pode ver no meu console, não há erro porque nossa solicitação funcionou com sucesso. Mas se eu mudar o caminho da URL, vou remover U do usuário. Agora, não há SCRs de nome fino nesse servidor. Se eu definir esse arquivo, você pode ver que há um erro. Não recebemos nenhuma mensagem adequada, mas apenas mostra quatro e 84 significa que o arquivo não foi encontrado. Se eu mostrar a seção de rede, você poderá ver o nome do arquivo, status 404 do SCRs, o tipo e também o tamanho e o tempo de resposta Agora eu quero imprimir esses dados em nosso documento, ou seja, em nosso navegador. Para isso, precisamos usar um loop externo. Vou remover essa seção de bloqueio de pontos do console e digitar cli bras, dentro da caixa, e vou usar um loop externo para dentro do ss A redondo nos dados um loop externo para dentro do ss A redondo nos Então, dentro do ss redondo, documente o ponto A. O que você acha? Ele vai imprimir todo o documento de uma vez? Não. Vamos executar o código. Você pode vê-lo imprimir dez números, 029. Mais uma vez, vou te mostrar o console, os dados de log de pontos do console. Se eu executar esse código, você poderá ver meus consoles. Eu fiz alguns slimstk. Precisamos escrever essa seção de registro de pontos do console fora do flop. Se você está neste código, você pode ver que ele está escrito em um objeto. Mas dentro do objeto, há mais dez objetos, 01, dois, três, quatro, cinco, 6789 Precisamos imprimir seus valores para obter o resultado adequado. Para recuperar esse valor, usaremos um valor variável Uma chave de objeto significa. Dentro da prensa redonda, vou digitar dados. Dentro do quadrado, vou passar a variável-chave. Se eu definir esse arquivo, você pode ver no meu navegador que é objeto de impressão porque há mais objetos dentro desse objeto. Não podemos imprimir um objeto como esse. Precisamos definir a chave exata do objeto. Suponha que eu queira imprimir o nome do objeto. Dentro da função de gravação de pontos do documento, vou usar o método de string modelo dentro dos sutiãs back takes, dolor sine e cure, e vou passar dados e latão quadrado e, em seguida, usar a tag BA para quebrar Primeiro, eu declaro nosso índice, depois precisamos declarar nossa chave exata Eu digito o nome do ponto. Se eu definir esse arquivo, agora você pode ver no meu navegador, todo o nome de usuário. Se você quiser imprimir o e-mail do usuário com o nome dele, vou digitar e duplicar esse código e testar novamente o nome com o e-mail dele Se eu definir esse arquivo, agora você pode ver no meu navegador que ele imprime o nome do usuário e seu e-mail também. Você pode ver no meu console. Da mesma forma, você pode usar toda a chave para recuperar dados específicos Você pode ver dentro do objeto zero, há outro objeto chamado endereço. Agora você decide imprimir a cidade do usuário a partir do endereço. Nesse caso, primeiro, você precisa usar a palavra-chave address dot address. Mais uma vez, você precisa usar o ponto para especificar a consulta exata, e eu só quero recuperar a cidade na barra de endereço Então eu digito o ponto C. Se eu definir esse arquivo, agora você pode ver no meu navegador, ele imprime o nome do usuário com sua cidade. Dessa forma, podemos imprimir dados em uma tabela. Se você perceber, o Haro recupera dados JSON do servidor on-line e também recuperamos dados JSON Deixe-me mostrar o exemplo. Se eu mostrar meu diretório de trabalho atual, você verá que há um conteúdo com o nome da pasta. Dentro da pasta de conteúdo, eu já crio um arquivo JSON chamado student dot JS Dentro desse arquivo JN, eu já insiro alguns dados, nome do aluno, idade do aluno e sua cidade. Agora eu quero retirar esses dados locais usando a API H. Primeiro, vou alterar o caminho do arquivo, o conteúdo, a barra ou o nome do arquivo, Student dot Json Primeiro, vou interromper isso por um loop, então vou comentar isso porque a chave deles é diferente. Primeiro, quero mostrar os dados em nosso console. Se eu definir esse arquivo, você pode ver no meu console que recebemos dois dados e você pode ver os detalhes de nossos alunos, e nossas chaves são nome, H e cidade. Se você quiser mostrar os dados usando o loop F, mais uma vez, vou habilitar isso para o loop, e não preciso abordar a seção, então vou removê-la. E eu só quero imprimir o nome do aluno e sua cidade. Se eu salvar esse arquivo, você poderá ver o resultado em nosso navegador. Ele imprime o nome do aluno e sua cidade. Se você quiser mostrar meses de erro dinâmicos em seu navegador, você pode. Dentro do método de cache, vou digitar document dot write. Não consigo buscar dados e vou mudar o caminho do nosso arquivo. Vou remover A do aluno. Se eu salvar o arquivo, você pode ver no meu navegador, ele imprime nossa mensagem de função de cache. Não consigo buscar dados. Se eu mostrar meu console, você pode ver a impressão 404, significa arquivo não encontrado Espero que agora você entenda como funciona. No próximo tutorial, mostrarei como podemos inserir dados no servidor Lib usando a API da Fitch Obrigado por assistir a este vídeo. 26. inserir dados usando a API da fetch: Neste vídeo, aprenderemos como inserir dados no servidor usando a API FH Para isso, precisamos fornecer o caminho do arquivo do site do servidor, talvez arquivo PHP, arquivo Python ou.net Com isso, passamos algum parâmetro. Então eu uso coma e uso carliss. Dentro da carcaça, usamos algumas propriedades, e elas têm alguns valores diferentes Nossa primeira propriedade é o método. Eu te disse anteriormente, temos um método diferente para recuperar dados e N dados. Se você quiser inserir dados , precisamos usar o post Mathod Mas para a JSN, temos mais alguns métodos. Por que precisamos inserir dados em nosso servidor, precisamos usar o método post. Mas se você quiser atualizar os dados do servidor, precisará usar o Put. Se eu quiser excluir dados do servidor , precisamos usar o método delete. Se você quer apenas ler dados, então você precisa usar o método gate, e então vem nossa segunda propriedade, que é corpo dentro do corpo, passamos esses dados, que temos que inserir em nosso servidor, e eles podem ser diferentes. Talvez semel a partir de dados JCN ou obtenha dados, e então precisamos passar nosso Precisamos declarar o formato, mas queremos enviar dados para o servidor por meio do corpo Eu só quero dizer tipo de conteúdo. Para isso, precisamos digitar um tipo de conteúdo de palavra Q e, em seguida, você precisa digitar o formato de dados do aplicativo. No nosso caso, JSN, significa que quaisquer dados que enviamos do nosso corpo, formatados em JSN Suponha que não queiramos enviar dados do JN. Quero enviar o EstiML a partir dos dados. Nesse caso, precisamos usar um tipo de conteúdo diferente. Barra do aplicativo X, hífen, WWW, hífen do URL do hífen codificado Se você quiser enviar dados diretamente, precisará usar esse Pathod Deixe-me mostrar o prático. Agora vou inserir dados em nosso servidor usando a API F. Sabe, não temos nenhum banco de dados real. Vou usar dados JN falsos. Vou usar o nome do nosso antigo site JN Placeholder. Se eu rolar um pouco, você pode ver, você pode ver um link, um guia de nomes. Dentro deste link, você pode obter o código que você pode usar para enviar dados para o servidor, usando o FPI Se você quiser ler dados, precisará usar esse código. E se eu ganhei pouco peso, você pode ver uma opção criando um recurso. Usando esse código, podemos inserir dados em nosso servidor de vida por meio da API HH, e você pode ver o método de tipo de conteúdo do cabeçalho post, e você pode ver outra função chamada N dot string fi Qual é o significado de P? No entanto, os dados que obtemos do nosso usuário são um objeto JavaScript e não podemos salvar o objeto JavaScript diretamente no arquivo JN. Usamos a função J string. Ele converte o objeto JavaScript em dados JN. Já sabemos que, se tentarmos enviar dados JSN , precisamos declarar nosso aplicativo de tipo de conteúdo Vou usar todo esse código. Eu seleciono e copio e, dentro dessa tag de script, vou sobrescrever o código Usando esse arquivo, vou inserir novos dados em nosso servidor, e você pode ver o caminho do nosso servidor em nossa seção de URL. Se você definir o arquivo e voltar para a página, e você pode ver no meu console, ele retém os dados, o que inserimos em nosso servidor Você pode ver o ID 101, o título AO e o ID de usuário um. Esta é a resposta para o nosso servidor. São dados fictícios, então não serão salvos permanentemente. Mas esse é o método exato que devemos seguir quando tentamos inserir dados no servidor usando o HPI É um dado falso. Se eu alterar o título, hello world, e salvar o código, você verá um erro em nosso console. Não é 404. Este site fornece um arquivo de demonstração. Não podemos adicionar dados diferentes ao servidor. Podemos usar o link deste site para fins práticos. Mas se usarmos nosso próprio código PHP ou qualquer outra linguagem do lado do servidor, poderemos definir os dados nesse servidor. Além disso, você pode criar o objeto fora da tag body. Deixe-me te mostrar. Vou copiar o conteúdo do objeto e, fora do PHPI, vou criar uma variável Po VG V igual a, eu crio um objeto JavaScript usando mesma chave e valor e, dentro da seção body, vou converter esse objeto Javascript em dados JCN Ponto JSON, sequência de caracteres se f, dentro do recesso redondo, O Se eu definir esse arquivo, você poderá ver a resposta em nosso console. Espero que agora esteja claro para você o que é o método p e como podemos usá-lo. Se eu voltar ao guia de espaços reservados da JCN, você pode ver como atualizar o método do recurso Você precisa alterar o nome do método E você precisa seguir o mesmo passo. É isso mesmo. Para excluir dados, basta usar o método delete. No seu URL, você precisa fornecer o número exato do índice. Você pode ver a postagem um. Espero que você goste desse vídeo. Obrigado por assistir a este vídeo. Nos vemos no próximo tutorial. 27. Introdução assíncrona: Olá, amigos, é bom ver vocês de volta. Neste artigo, vamos aprender dois novos recursos do JavaScript. ASIS e Aved. Vamos tentar explorar o que é a função ASIS. Como fazemos funções normais em nosso caso, cole, se eu digitar a palavra-chave ASN antes da palavra-chave da função Em seguida, ela se tornará uma função ***. Mas a questão é: qual é a diferença entre uma função normal e uma função Assing Como função, sempre escrevemos uma promessa, e aprendemos a promessa em nossos vídeos anteriores, e conhecemos a promessa escrita para um tipo de função. Resolva e descanse. Com base nisso, fazemos nosso trabalho adicional. Se resolver, chamamos a função then e, se nossa promessa for ressecada, chamamos automaticamente a função cache Nossa função Assing funciona como uma promessa. Pode ser resolvido ou repousar. Da mesma forma, podemos chamar a função then para resolver e podemos chamar a função cache para ressecar Agora, a questão é por que usamos a função As, já que já temos o método promise. Se você se lembra, há uma pequena complicação em nosso método de promessa Toda vez que precisamos declarar, resolver ou repousar a função prometida Para resolver essa complicação, Javascript introduz a função Assn. É muito fácil de operar. Você só precisa digitar como palavra-chave antes da palavra-chave da função e não precisa alterar sua função. Eu quero dizer uma coisa. Nossa função de promessa é introduzida na versão seis do Javascript ES e a função ASN é introduzida na versão 2017 do Java Script ES A partir daqui, você pode entender por que o JavaScript introduz a função Asne Tanser é simples de resolver a complicação da promessa. Todas as coisas que poderíamos fazer dentro do método de promessa, podemos fazer na função Asne Sem perder tempo, vamos voltar ao editor de código Sudo 28. Tutorial assíncrono: Aqui você pode ver lado a lado, eu abro meu codaor do Visual Studio e abro meu navegador usando a extensão de servidor Lib, e eu já crio um arquivo ESTimL chamado index dot eTML Primeiro, vou criar um scriptag. Dentro dessa scriptag, vou criar uma função normal Função taste, e essa função retornará uma string, hello world. Vamos chamar a função de sabor. Quero chamar essa função no meu console. Registro de pontos do console, dentro do parêntese, sabor. Vamos ver o arquivo. Você pode ver no meu console, ele imprime, olá mundo. Não há nada de novo aqui. É basicamente uma função normal. Vamos converter a função em uma função as. Para isso, precisamos digitar a palavra-chave As antes da palavra-chave da função. Agora, isso não é uma função normal. Essa função só funciona em modo assíncrono. Significa em nosso passado. Se eu salvar esse arquivo, você pode ver meu console, ele escreveu uma promessa. Você pode ver meu console, resultado da promessa, palavra de olá, estado da promessa cumprida. Agora está claro para você. Se usarmos uma palavra-chave antes da função, ela escreverá uma promessa e já sabemos que podemos usar a função then ou catch com a promessa. Vamos ver. Vou comentar essa linha e depois vou chamar essa função de sabor. Em nossa função Assn, não precisamos usar a função resolve ou repousa Podemos chamar a função diretamente. Dentro da função then, vou criar uma função de seta. Seja qual for o retorno dessa função, e se ela for executada com sucesso, nossa função then é chamada automática e, dentro da função then, podemos imprimir nosso valor de retorno. Registro de pontos do console, dentro do resultado entre parênteses. Precisamos criar a variável de resultado como parâmetro para armazenar valor. Resultado. Você pode usar qualquer nome. Se eu salvar esse arquivo, você pode ver no meu console, ele imprime hello world. Existem vários métodos para criar a função Assn em JavaScript. Podemos criar a função Asne com a função de seta normal. Deixe-me te mostrar. Primeiro, vou dar uma amostra de nome variável. Sabor tardio igual a, e esta é a nossa função básica. Essa é outra maneira de criar a função Asne. Se eu definir esse arquivo, você pode ver no meu console que está escrito olá. É principal que funcione corretamente. Se eu quiser me encaixar em uma função de seta, sim, eu posso. Para isso, não precisamos digitar a palavra-chave da função. E então eu uso igual a um gratinado e depois seno. Você sabe que se há uma única declaração em nossa função de seta, então podemos excluir esses clibrass, e podemos transformá-los em um único liner, e também podemos remover esse R. Se eu definir esse arquivo, você pode ver que ele Você pode ver o quão pequena a função R se tornou. Vamos tentar entender o que é o método veterinário. 29. Aguarde a introdução: Vamos falar sobre o método At. No método, trabalhe dentro do método assíncrono. Para executar o método vet, primeiro, precisamos criar a função Assn. Como você pode ver na tela, criamos um sabor de nome de função Assn Dentro da função, eu imprimo três declarações. Se eu chamar essa função, ela imprimirá três dessas declarações, uma por uma. Suponha que temos algum código que transmita essa função, então ele será impresso depois disso. Vamos falar sobre o método At. Podemos usar o método At em nossa função Assn. Só precisamos digitar a palavra-chave antes de qualquer linha principal, algo assim. O significado da linha é eu disse ao meu compilador que esperasse depois de imprimir o log B. Qual é a vantagem disso Até que o processo do console B seja concluído , o código fora da nossa função Assn começará a ser executado Se eu chamar a função de teste, primeiro ela imprimirá o console A, daí virá para o método At, e aqui eu disse à minha função*** que esperasse Ele imprime o console B. Depois disso, seja qual for o código que estiver lá, ele não o executará. Ele pula para fora da função de teste e tenta executar nossos outros códigos Quando todos os outros códigos forem concluídos, ele retornará à função At. Ele verificará se nosso trabalho está concluído ou não. Se nosso código estiver completo, qualquer código que esteja lá, dentro da função***, ele começará a ser executado Quando usamos o método At na função Assing, ele para de executar nossa função e pula fora da função e tenta executar outros códigos Quando outros códigos forem concluídos, volte para o método At e tente executar e tente executar outro código de função***. Principalmente nós o usamos. Quando você deseja corrigir os dados do servidor e nós os usamos com nosso método de busca Usando esse método de busca, podemos recuperar dados do servidor Podem ser dados JSON ou dados de coleta. Os dados que queremos obter do servidor podem demorar um pouco para chegar E nosso código externo continuou sendo executado até que os dados viessem do servidor. Quando os dados completos chegam, eles voltam para a função At novamente. Em seguida, continuamos realizando a seguinte tarefa de nossa função. Vamos começar a prática e ver como podemos usar o método At com nossa função Assing 30. Aguarde o tutorial: Aqui você pode ver, mais uma vez, que abro meus vises para seu criador e navegador de microme, e já crio um nome de função assíncrono taste, Primeiro, vou imprimir uma declaração fora da função. Registro de pontos do console dentro da mensagem de dois pontos entre parênteses. Significa que esta é nossa primeira mensagem. Aqui vamos entender como uma função úmida funciona, e eu vou copiar a mesma mensagem e colá-la dentro da função asin, e vou duplicá-la a Além disso, vou mudar a identidade deles, dois, três e quatro. Primeiro, ele imprimirá nossa mensagem, uma declaração. Em seguida, ele chamará nossa função taste, que é uma função Assn. Em seguida, você imprime nossas três declarações dentro da função ase. Mais uma vez, vou imprimir em nosso console outra missa, missas cinco. Se eu salvar esse arquivo, você pode ver no meu console, ele imprime todas as massas em série. Massa um massas duas massas três massa quatro massas cinco. 2-4, todos eles são da função Assn. Agora vou digitar no método antes das massas três. Eu já te disse, qual é o significado de At? Aguarde e conclua o trabalho. Até que esse trabalho seja concluído, conclua nosso outro trabalho, depois retorne à nossa função At e verifique. Está acabado ou não? Se terminar, imprime massas de quatro. Vou salvar esse arquivo mais uma vez. Você pode ver que isso mudou nossa sequência. Você pode ver primeiro que ela imprime em massa um. Então eu chamo nosso teste de função, que é uma função Assing Eu imprimo sua primeira declaração dois. Em seguida, imprime Às massas, Homem às massas três. Mas também declaro nossa função à inteligência. Enquanto estiver esperando, as massas fora da função de teste serão impressas. Depois de três, é impresso cinco, não quatro. Assim que o trabalho é concluído, ele volta para verificar se está funcionando corretamente ou não? Se funcionar corretamente, imprima massas de quatro. Dessa forma, nosso método At funciona em nossa função ath. Tentamos executar o At Method sem executar uma função, então ele é escrito aqui. Agora vou mostrar qual é o uso real do Método At. Onde e por que usamos o At Method. Sempre que tentamos acessar dados do servidor , precisamos usar o Método At. Aqui, vou usar o Fetch Method, e aprenderemos sobre isso em nosso vídeo anterior Aqui, vou buscar dados JSON e já crio um arquivo JN no meu diretório de trabalho atual. Deixe-me te mostrar. Aqui você pode ver, eu crio um nome de pasta que contém. Dentro dessa pasta, você pode ver um arquivo JN chamado student dot JSN Temos três registros em nosso arquivo. Nome Ag e Cidade. É um formato SN. Além disso, você pode recuperar dados falsos do JN do site, basicamente para fins de teste Vamos voltar ao arquivo EstiML de pontos de índice e agora vou usar o método Fetch Primeiro, vou criar uma variável e vou remover essa linha. Resposta constante igual a f, e dentro do método F, vou passar minha URL, content student dot JN Antes dessa função f, vou usar nosso método. Espere. É principal, eu disse à minha função que esperasse e buscasse os dados completos do nosso arquivo JCN Até que o processo seja concluído, ele executará nosso próximo código. Assim que todo o trabalho terminar, ele retornará à função AD e continuará com as próximas linhas. Sabemos que nosso método fetch escreveu uma promessa. Vou criar uma variável. Mas primeiro, vou remover essa linha. Cs student equal do, e mais uma vez, vou usar o Método At, ponto de resposta JSN, e aprenderemos nossa guloseima em nosso vídeo anterior Basicamente, nosso método de busca retorna JSN ou formato de texto. Em resposta, obtemos o arquivo JSN, então precisamos usar dot Json Vou retornar todos os dados que eu recupero do arquivo AJCN, aluno escrito e um valor escrito do aluno Sabemos que nossa função Assn escreveu uma promessa. Primeiro, ele imprimirá massas um e, em seguida, executará minha função taste. É a função Assn, então ela vai imprimir massas de dois Depois disso, pedimos que esperemos aqui. Depois da nossa primeira função At, vou imprimir outra mensagem, com três massas. Além disso, vou criar uma variável para nossa chamada de função, t x igual ao sabor, e quero imprimir essa resposta em nosso console. Então, vou digitar console dot log dentro do latão redondo, x. Vamos ler o código Você pode ver no meu console, como você pode ver, primeiro imprimimos uma massa e depois chamamos nossa função de sabor. Eu imprimi a massa dois, e depois eu te disse para oito Aqui eu vou buscar dados do servidor. Então, ele saiu dessa função e começou a trabalhar na massagem quatro Você pode ver minha seção de console. Ele imprime de quatro a dois e, quando a massagem quatro é concluída, chamamos nossa variável x. Ele volta para a função Assn e recebe uma resposta do servidor, e você pode vê-lo imprimindo nossa resposta como uma promessa Você pode ver que temos duas matrizes em nossa promessa. Nossa promessa está cumprida. Depois de concluir a seção de promessas , você imprime nossas massas três. Dessa forma, usamos o método assíncrono e Avid com nossa Agora vou remover todas as mensagens extras. Então, vou remover toda a seção do console. Agora parece bem simples. Primeiro, retorne à função para nosso conteúdo de busca. Ele continuará esperando até que os dados venham do servidor, e pedimos à nossa resposta que esperasse mais uma vez. Eu uso outro método At. Em seguida, retornamos nosso resultado. Se eu definir esse arquivo, você pode ver no meu console. Como resultado, obtemos uma promessa e temos duas matrizes em nossa promessa porque, em nosso arquivo JCN, temos dois resultados e, como você sabe, podemos usar a função then e catch com o método promise Primeiro, removerei a seção do console e também removerei essa variável x. Primeiro, chamaremos nossa função de teste. Se a promessa foi escrita com sucesso, usaremos a função then. Dentro da função then, vou criar uma função de seta. Além disso, vou criar um método de cache para isso. Pegue pontos e coloque os parênteses, vou criar outra função de seta Se houver um erro em nossa função, ela executará automaticamente a função catch. Agora vou salvar o registro do aluno em uma variável. O nome da nossa variável é RES data significa dados de resposta, e vou imprimir esse valor em nosso console. Dados Rs do log de pontos do console. Se houver um erro em nosso código, nosso cache pathol imprimirá outra mensagem de erro Vou criar outro erro de variável. Dentro da função de erro, vou imprimir o erro do log de pontos do console. Primeiro, chamamos nossa função AN de taste, e ela escreveu uma promessa. Se a promessa for cumprida, ela executará a função. Se houver um erro em nossa função, ela executará automaticamente a função de cache. Se eu definir esse arquivo, você pode ver no meu console que ele escreveu uma matriz e, se eu abrir essa matriz, você poderá vê-lo fornecendo o objeto Son. Se eu alterar o caminho do arquivo, removerei um do aluno. E defina esse arquivo, você pode ver no meu console, ele imprime uma seta 404, Arquivo de Mans não encontrado Ele executa nosso método de captura e imprime a seta. Agora, vamos ver como podemos converter tantas linhas em uma única linha. Eu só quero fazer um forro. Primeiro, vou comentar toda essa linha. Principalmente, estamos focados na busca e no método At. Vou retornar entre parênteses, vou chamar o método At e quero retornar JN a partir Eu uso a função dot SN. Nós fazemos disso um forro. Se eu definir esse arquivo, você pode ver no meu console, mesma forma, que ele escreveu uma matriz, e temos dois objetos JSON dentro dessa matriz Aqui você pode ver, eu converto três linhas de código em uma linha. Vamos falar sobre nosso último tópico, tratamento de erros. Basicamente, lidamos com nosso erro usando a função catch. Há uma desvantagem de usar a função catch. Quando chamamos a função de teste, toda vez que precisamos usar o método catch para lidar com o erro. Eu não quero usar toda vez. Existe um atalho para lidar com isso. Vou descomentar todas as linhas e comentar esta seção de devolução Basicamente, usamos tri catch para lidar com esse erro. Dentro da função Assing, usamos o bloco de cache triplo Em nosso próximo vídeo, aprenderemos mais sobre o tri cache. Dentro do bloco testado, digitamos todo o nosso código. Então, vou mover esse código para dentro do bloco testado. Isso significa que estamos testando esse código. Se funcionou corretamente, então está escrito, e podemos acessá-lo em nossa função then. Se houver um erro nesse bloco de tribo, ele executará automaticamente o bloco de cache Dentro do bloco de cache, imprimimos nossa seta. Vou mover essa mensagem de erro neste bloco e remover o método de cache, e também precisamos declarar a variável de erro dentro do bloco de erro Sempre que chamamos a função de teste , não precisamos digitar o método cache para manipular a seta. Se eu definir esse arquivo, você pode ver no meu console, podemos acessar nossos dados com sucesso. Se eu criar um erro dentro da minha função, então vou alterar a ortografia da resposta, RS dou dois PON SC Você pode ver que não há variável m, descanse 22 pontos. Sabemos que isso retornará um erro. Nesse caso, ele executará nosso bloco de cache. Se eu definir esse arquivo, você verá um erro no meu console. É impresso. Erro de referência. O resto de 22 libras não está definido gosto porque não definimos essa variável em nossa função. Também imprima outra mensagem indefinida. Você pode ver como podemos lidar com erros usando tri your cache block É muito semelhante ao tri, exceto a condição em Python. Se houver um erro em nosso bloco triplo , ele salta automaticamente para o bloco de cache e imprime nossa mensagem de erro Vou resolver esse problema e configurar esse arquivo novamente. Agora está muito bem. Se você quiser imprimir esse resultado na seção do documento, você pode. Você pode usar for loop para isso. Espero que agora esteja claro para você o que é o método AC e AD e como podemos usá-lo com nosso método ft. Obrigado por assistir a este vídeo. Te vejo em breve. 31. Introdução avançada de símbolos JavaScript: Olá amigos Natsio ba. Neste tarial, aprenderemos sobre símbolos. Já sabemos sobre o tipo de dados em JavaScript. Especialmente, temos sete tipos de dados: string, número, ouro, matriz, objeto, nulo e indefinido Mas um novo tipo de dados foi adicionado a essa lista, que é símbolo. Neste vídeo, aprenderemos sobre símbolos. Mas antes de aprendermos sobre símbolos, vamos dar uma visão geral dos nossos tipos de dados antigos. Suponha que eu tenha um nome de variável A. Se atribuirmos essa variável e dentro dos códigos duplos ou códigos simples, se eu fornecer algum valor, então a chamaremos de string, e não importa se é alfabética ou Isso significa que um tipo de dados é string. Da mesma forma, se atribuirmos um valor numérico sem códigos, então o chamamos de tipo de dados numerado. Mas se eu fornecer dois ou falsos sem aspas, principal é um tipo de dados booleano Mas se eu adicionar vários valores em nossa variável A , podemos usar o tipo de dados AA. Para isso, precisamos usar versos quadrados e, em seguida, podemos usar vários valores Mas se eu quiser adicionar uma oração fundamental e de valor , podemos usar o tipo de dados do objeto. E se eu atribuir nulo a essa variável, então nós a chamamos de tipo de dados nulo Se eu não definir nenhum valor para essa variável, nesse caso, podemos chamá-la de indefinida Eu sei que se você está neste curso, você já sabe disso. Só quero revisar mais uma vez. Mas neste vídeo, vamos entender um novo tipo de dados, símbolo. Quando quiser usar o tipo de dados de símbolo, você precisa usar uma variável e atribuir com um Lembre-se de que isso deve ser capital e, depois disso, precisamos usar bases redondas. Dentro desse símbolo, podemos colocar qualquer valor. Pode ser um valor numérico ou um valor de string, algo parecido Chamamos esse símbolo de string de identificador ou descrição. É sempre um valor único. Quero dizer que não podemos atribuir o mesmo valor. Outro símbolo. Suponha que eu pegue outra variável B e forneça o mesmo valor. Como você pode ver, o valor das variáveis A e B é o mesmo. Talvez você possa pensar que o valor deles é o mesmo. Se tentarmos compará-los, está escrito como verdade, mas isso não vai acontecer. Se compararmos isso com a variável, é escrito como falso. Seu valor parece o mesmo, mas não é o mesmo porque o valor dos símbolos é único e, se tentarmos compará-lo, está escrito como falso. Por que precisamos usar um valor exclusivo em nosso programa? Nesse caso, podemos usar símbolos. Vamos começar a prática e tentar explorar mais sobre símbolos. 32. Símbolos, parte 1: Aqui você pode ver, eu abro meu editor de código Visual stdio e também crio um arquivo eSTL, e abro esse arquivo eSTL usando a extensão life Server neste Primeiro, vou digitar a tag do script. Dentro da tag do script, vou criar um símbolo. Vou criar uma variável. O ID atrasado igual a S deve ser. Símbolo. Vamos imprimir esse símbolo em nosso console. Então, vou digitar o log do console dentro do ID dos parênteses Se eu salvar esse arquivo, você poderá ver meu console, ele será impresso, é um símbolo, e eu vou atribuir um identificador ao símbolo. Então, vou digitar olá. Pode ser uma sequência, talvez um número, qualquer coisa. Se eu definir esse arquivo, você poderá ver meu console, sprint, olá Se eu mostrar o tipo de dados , vou duplicar essa linha e quero imprimir o tipo de ID Se eu definir esse arquivo, você poderá vê-lo como símbolo de sprint. Símbolos significam um valor único. Vamos tentar provar isso, como é um valor único. Vou duplicar essa linha e alterar o nome ID dois Você pode ver que tem a mesma aparência e o valor deles é o mesmo. Mas se eu comparar essas duas variáveis, elas são escritas como falsas. Vamos comparar isso. ID é igual a regs a ID dois. Se eu definir esse arquivo, você pode ver que ele está escrito em Falls. Isso significa que os valores dessas duas variáveis não são iguais. Parece muito parecido, mas não é o mesmo. Mas se eu usar string, deixe-me mostrar isso. Vou reverter essa linha e vou mudar o nome tr one and two Agora eles são sequências, não símbolos, vou remover a palavra-chave do símbolo. E também vou remover este. Agora vou comparar esses dois valores. Dentro da seção de bloqueio de pontos do console, vou digitar St r one e St two, e vou comentar esta Se eu salvar esse arquivo, você poderá vê-lo escrito como verdadeiro porque, nesse caso, eles não são símbolos, são strings e os valores de duas variáveis são iguais. Eles não têm valor de gelo. Uma coisa, lembre-se, não podemos usar o valor do símbolo diretamente em nosso documento. Deixe-me te mostrar isso. Vou remover essas linhas. Eu não preciso dessas linhas por enquanto, e também vou remover essas linhas. Como eu disse, não podemos imprimir o valor do símbolo em nosso documento. Se eu tentei imprimir , vou usar um alerta. Alerta entre parênteses, vou imprimir Se eu executar esse código, é um erro escrito. Vou definir esse código. Você pode ver o tipo err e também imprimir, não é possível converter um valor de símbolo em uma string Se você quiser converter o valor do símbolo em uma string, precisará usar algum método para converter o valor do símbolo em uma string. Deixe-me te mostrar isso. Precisamos usar o método de duas strings. ID, ponto, duas cordas. Usando esse método, podemos converter a variável símbolo em uma string. Se eu definir esse arquivo, agora ele está correto. Você pode ver no meu símbolo de alerta, olá. Preciso usar o método de duas strings para converter o símbolo em uma string. Então, podemos usar esse valor de símbolo em nosso documento. Se você quiser ver o valor exato do símbolo , precisamos usar um método diferente. Nesse caso, não usamos o método de duas cadeias de caracteres. Vou removê-lo e vou digitar a descrição do ponto de identificação. Não é uma função, então não queremos usar corridas redondas. É apenas um método de símbolo. Se eu definir esse arquivo, você pode ver na minha seção de alerta, agora é só imprimir olá, significa nossa mensagem. Na próxima parte deste vídeo, mostrarei como podemos usar símbolos em um objeto? 33. Símbolos, parte 2: Olá, amigos. É bom ver de volta. Neste vídeo, vamos usar o símbolo dentro do objeto. Vou remover essas linhas e vou criar um novo símbolo. H tardio igual ao símbolo. Por enquanto, está vazio e, em seguida, vou criar um objeto. Vou usar um limite variável como objeto. Um usuário tardio, igual ao de dentro do carro, está aqui, eu vou criar o objeto. Sabemos que precisamos usar valor e chave para criar um objeto. Nossa primeira chave de objeto é o nome. E seu valor é adicionar um. Nosso segundo objeto é classe e seu valor é classe dez. Agora eu quero usar esse símbolo como uma chave. Nesse caso, primeiro, precisamos usar aumentos quadrados e, em seguida, precisamos digitar a variável símbolo H, e precisamos fornecer valor. Então, vou digitar 25, é um valor numérico B você precisa usar o símbolo como chave dentro do objeto e, em seguida, usar versos quadrados Dentro do conjunto quadrado, precisamos fornecer uma variável de símbolo. Vamos tentar imprimir esse objeto dentro do console. Vou digitar o log do console dentro do parêntese ou objeto user, ponto e vírgula para finalizar esta linha Se eu salvar esse arquivo, você pode ver no meu console, correr o objeto Para o nosso primeiro valor, é o nome do sprint, segundo valor é a classe do sprint, mas para o nosso terceiro valor, é o símbolo de impressão e não fornecemos nenhuma descrição para o nosso Se você quiser, então você pode. Como valor de símbolo, vou digitar H. Se eu definir esse arquivo, desta vez ele imprimirá o símbolo H, e há outro método para usar o símbolo em nosso objeto. Eu vou removê-lo. Também removo esse coma. E agora eu vou usar esse símbolo neste objeto. Fora do objeto, primeiro, vou digitar o nome do objeto usuário. Dentro do processo quadrado, vou pegar o nome da variável símbolo igual a, e vou atribuir um valor, 23. Essa é outra maneira de usar símbolo com objeto. Se eu definir esse arquivo, você pode ver meu console, ele imprime nosso valor adequado. Como você sabe, se quiser ver o valor exato de qualquer chave, basta digitar classe de usuário. Se eu definir esse arquivo, você pode ver que está escrito o valor exato, classe dez. Se eu quiser mostrar o valor do símbolo, não podemos usar esse método. Deixe-me mostrar que, se tentarmos, vou colocar essa linha e quero mudar nome dessa variável H. Se eu definir esse código, você poderá vê-lo impresso indefinido A classe é nossa chave. H é a nossa chave, mas funciona com a classe, então por que não funciona com? Se quisermos mostrar o valor exato do símbolo, nesse caso, não precisamos usar ponto. Precisamos usar latão quadrado. Precisamos mover essa variável dentro do latão quadrado. Se eu definir esse código, você pode ver agora que o resultado está escrito. Você precisa se lembrar que, para o tipo de dados normal, podemos usar ponto. Mas para o tipo de dados de símbolo, precisamos usar corridas quadradas. Como você sabe, podemos imprimir cada chave ou valor do objeto usando um loop externo. Vamos usar um loop estrangeiro. Tente imprimir todas as chaves em nosso console. Vou digitar quatro, dentro da chave LED entre parênteses no usuário Usuário significa o nome do nosso objeto. Em seguida, dentro do console ss do carro, faça o log de pontos entre parênteses Se eu executar esse código, ele imprimirá o nome do aluno, o nome do usuário, a classe do usuário, mas manterá usuário A porque é um símbolo. Eu quero salvar esse arquivo. Agora você pode ver meu console, ele imprime a classe do nome. Mas ele não imprime a tecla H, então imprime apenas o nome e a classe de duas chaves. Mas se eu duplicar essa linha e tentar inserir outro nome chave, gênero e gênero são masculinos. Eu quero digitar masculino. Se eu salvar esse arquivo, você poderá vê-lo imprimir três k do nosso objeto, classe de nome e gênero, mas ele escapará com H K porque é um símbolo Não podemos usar o símbolo dentro do loop externo, e você precisa se lembrar que era, e você sabe por que usamos o objeto ask. Porque convertemos o objeto Javascript em um objeto JSR e tentamos enviar dados para o servidor Se eu tentar converter esse objeto de usuário em JN, mais uma vez, pule esse valor. Deixe-me te mostrar isso. Você pode ver que temos quatro valores em nosso objeto, classe de nome H e ender. Primeiro, vou remover isso. Eu não preciso desse acompanhamento. E agora vou converter esse objeto em um arquivo JSN. Vou usar o log de pontos do console. Dentro do parêntese, vou usar JN do stringif Mathl JN stringif Dentro do parêntese, vou fornecer o nome do nosso objeto, que Eu configurei esse arquivo, você pode vê-lo escrito em um objeto JS. Mas se você notar, o valor H está ausente. Mas se eu simplesmente imprimir esse objeto em nosso console, vamos ver. Devo remover esse parêntese. Se eu definir esse arquivo, você pode ver, você pode ver o valor do símbolo do meu console. Mas no meu objeto JS, não há valor de símbolo. Você precisa se lembrar que sempre que usamos o valor do símbolo em nosso objeto, não podemos usar esse valor em nosso loop externo e também não podemos converter esse valor em um objeto JS. Se você realmente quiser convertê-lo, então precisamos converter esse valor de símbolo em uma string. Como eu disse anteriormente, usamos o método de descrição para converter o símbolo em uma string e, em seguida, podemos convertê-lo em um objeto J. Não convertemos diretamente o símbolo em um objeto. Basicamente, esse é um novo símbolo de tipo de dados. Valor único de rotação do símbolo. É raramente usado. Espero que agora esteja claro para você o que é o tipo de dados do símbolo Obrigado por assistir a este vídeo. 34. Introdução de iteradores: Olá amigos, é bom ver vocês de volta. Neste resumo, aprenderemos um novo futuro sobre o Javascript moderno Geradores, suponha que temos uma função chamada demo, e dentro da função, eu digito algumas declarações múltiplas, como massas um massas duas massas três Sempre que precisarmos chamar a função, basta digitar o nome da função. Demonstração e, em seguida, imprimirá todas as declarações, uma por uma, em nosso console. Mas o problema é que não temos controle nessa função. Se eu chamar essa função, ela imprimirá todas as mensagens. Mas eu quero controlar todas essas fitas. Quando preciso imprimir a primeira mensagem, eu posso. E quando precisarmos imprimir apenas nossa terceira mensagem , eu posso fazer isso. E se eu quiser imprimir nossa primeira mensagem e nossa terceira mensagem, e eu quiser copiar nossa segunda mensagem, então podemos fazer isso Mas não podemos fazer isso em nossa função normal. Para resolver esse tipo de problema, versão seis do JavaScript S introduz um novo recurso chamado gerador. Os geradores são basicamente uma função, apenas para seguir uma forma diferente de criá-la Quando você cria uma função e usa um nome de função, precisamos usar estrela seno antes do nome da função Agora é uma função geradora. Agora podemos controlar todas as declarações dentro da função. Se você quiser interromper qualquer declaração, você pode, mas precisamos usar um rendimento especial de nome de palavra-chave, algo parecido. É uma pausa malvada. Eu declaro nossa função. Quando eu chamo essa função, ela vai pausar nossas declarações Se não chamarmos essa instrução, ela não será executada. Vamos ver como funciona. Primeiro, precisamos chamar a função. Precisamos criar uma variável e, em seguida, atribuir essa função a essa variável. Você pode ver em nossa primeira declaração que usamos rendimento. Significa que, desde nossa primeira declaração, pausamos nosso código Se quisermos ver as massas um, precisamos usar a função next, um ponto próximo. Aprendemos sobre isso em nosso vídeo anterior. Podemos imprimir essa declaração em um documento ou console. Depende de você, e essa função reterá um valor de massa um Então, essa função imprimirá nosso primeiro valor. Da mesma forma, se você quiser ver o segundo valor, precisamos usar a função next novamente. E se você quiser ver o terceiro valor, precisamos seguir o mesmo processo. Já aprendemos sobre isso em nosso vídeo anterior. Agora você entende os benefícios de usar um gerador. Temos controle total de nossas declarações. Então, vamos começar a prática e ver como funciona, e vou mostrar exemplos diferentes. 35. Iteradores de JavaScript: Você pode ver, eu abro meu editor W, um editor de código de estúdio, e eu crio um arquivo STL, índice, ponto STL, e abro esse arquivo no meu navegador usando a extensão Live Server Primeiro, vou digitar a tag do script. Primeiro, vou criar uma matriz dentro da tag do script. Número atrasado. É a matriz, vou adicionar valores numéricos e vou digitar 204060, e agora quero imprimir esse valor no Vou digitar console dot log dentro dos parênteses, o nome da nossa variável é num e subcoln para finalizar Se eu definir esse arquivo, você pode ver meu console, ele imprime uma matriz. Se eu abrir essa matriz, você pode ver uma opção, proto. Se eu clicar nele, você poderá ver alguns métodos. Esses métodos estão todos relacionados à matriz. Se eu rolar para baixo para recuperá-lo, você poderá ver um iterador de pontos do símbolo da função Eu vou usar esse. Usando isso, podemos percorrer todos os valores em nossa matriz. Significa que podemos iterar nossos valores. Vamos fazer isso. verificar essa função dentro do meu console. Mas primeiro, vou digitar. E eu vou usar essa função com um array. Então, dentro desse coprocesso, o símbolo do iterador. Aqui vou verificar o novo tipo de função, então eu uso o type up. Se eu definir esse arquivo, você pode ver no meu console, ele é impresso, é uma função. Usando essa função, podemos iterar nossa matriz. Para isso, primeiro precisamos pegar uma variável, então vou remover essa linha do console. E eu vou criar uma variável. Atrasado, e o nome da nossa variável é tr. Obviamente, não precisamos do tipo de função, então vou removê-la. Depois dessa base quadrada, precisamos usar latão redondo, que significa função seno, porque é uma função, e vou chamar essa função aqui Sempre que eu chamo essa função, ela classifica o valor nessa variável. Vou trazer esse valor para o meu console. Registro de pontos do console dentro do parêntese er. E subg para terminar esta linha. Se eu definir esse arquivo, você poderá vê-lo retornar uma matriz. Se eu abrir essa matriz, você pode ver, e se eu abrir essa opção de proto, você pode ver uma função, a seguir. A seguir está uma função. Usando a próxima função, podemos ler todos os valores em nossa matriz. Vamos fazer isso. Depois do ITR, vou digitar dot next e também preciso digitar entre chaves porque é uma função Usando esse método, podemos imprimir nosso primeiro valor. Se eu definir esse arquivo, você pode ver que ele está escrito como um objeto. E obtemos duas chaves. O primeiro é valor, o segundo está pronto. Em valor, obtemos nosso primeiro valor 20. Mas, pronto, está escrito de forma falsa. O que isso significa? Quer dizer, por que usamos o iterador? Se imprimirmos uma matriz dentro dessa função e se houver um valor dentro dessa matriz, toda vez ela retornará false. Você pode ver que depois de 20, há outro valor 40. Nossa função eradora sabe que há outro valor de até 20 É por isso que ele retorna falso. Vamos chamar essa função duas vezes. Então, eu ligo essa linha duas vezes. Se eu salvar esse arquivo, agora você pode ver meu console, e você pode vê-lo imprimir nosso valor e, em seguida, imprimir falso. Mais uma vez, ele imprime nosso terceiro valor e imprime falso. Mas se eu chamar essa função mais uma vez e salvar esse arquivo, você verá que nosso valor é indefinido Você pode ver que não existe um quarto valor em nossa era, é impressão indefinida Dentro do d, está escrito verdadeiro porque não há nenhum valor para imprimir, é escrito verdadeiro. Lembre-se de que temos controle total sobre isso. Suponha que eu queira manter o primeiro valor em nossa área. Vou remover esse console ou seção de bloqueio. Se eu definir esse arquivo, você pode vê-lo manter nosso primeiro valor e imprimir nosso segundo valor 40, e vou remover essa linha por enquanto, não preciso dessa linha. Se você quiser distorcer nosso segundo valor, precisará remover essa linha e chamá-la novamente. Se eu definir esse arquivo, você poderá vê-lo imprimir somente nosso terceiro valor. Sempre que chamarmos a próxima função, ela iterará o próximo valor da nossa matriz Se usarmos a primeira vez, ele iterará nosso primeiro valor Da mesma forma, se chamarmos essa função novamente, ela iterará nosso segundo valor Temos controle total sobre isso. Se pintarmos massas entre elas, então vou digitar o log de pontos do console dentro dos parênteses, vou digitar uma string no alto e ponto e vírgula nessa linha, e vou duplicar essa linha para ver o Se eu definir esse arquivo, você poderá ver meu console. Isso não afetará nossa iteração. A vantagem é que, sempre que verificamos o valor do iterador, podemos Mas se usarmos for loop ou qualquer outro loop, obviamente, precisaremos imprimir todo o valor de uma vez. Mas usando a função iteradora, podemos usar qualquer valor quando quisermos Como você pode ver, é o objeto interno. Valor, e obtemos duas chaves disso, valor e pronto. Se quisermos ver o valor diretamente, sim, podemos. Eu vou remover tudo isso. Depois, vou digitar o valor. Se eu definir esse arquivo, você poderá vê-lo imprimir diretamente nosso valor 60. É o objeto, então podemos imprimir seu valor usando o método de valor de pontos. Da mesma forma, podemos verificar a propriedade da chave Don. Se eu duplicar essa linha e mudar o ponto D, e eu definir esse arquivo, será escrito verdadeiro Por que está escrito verdadeiro porque chamamos nossa próxima função pela quarta vez e não há um quarto valor em nossa matriz. É por isso que está escrito como verdade. Se eu rever qualquer função e, em seguida, definir o arquivo, você pode ver que desta vez ele está escrito como falso e retorna falso para nossa terceira iteração Suponha que, se tivermos 300 valores em nossa matriz , obviamente precisamos criar um loop para isso. Podemos criar nosso próprio loop ou, caso contrário, podemos usar do loop ou loop. Vamos ver como funciona. Não precisamos mudar nada e vou armazenar esse valor em uma variável. Vou me atrasar e o nome da nossa variável é result. E eu vou remover essa linha, e vou criar um loop de óleo. Vou usar um loop while e executo esse loop while até que a propriedade done seja escrita como verdadeira. Dentro do parêntese, vou digitar not result dot D. Ele executa o loop wil até que o valor seja verdadeiro, então eu uso o operador not Dentro do loop, vou imprimir o valor. Registro de pontos do console dentro do parêntese, vou digitar o valor do ponto resultante e vírgula nesta linha Dessa forma, podemos imprimir todo o valor em nosso console. Como você sabe, precisamos incrementar nosso loop para obter o próximo resultado Vou copiar essa linha e colá-la aqui. Como resultado, ele iterará nosso próximo valor 40. Se eu coloquei esse arquivo, você pode ver no meu console, ele imprime todos os valores. Não importa quanto valor tenhamos, ele imprimirá todos os valores. Dessa forma, podemos usar função iteradora dentro do loop le Também podemos usar essa função iteradora com string ou objeto Na próxima parte deste vídeo, veremos um exemplo com string. Obrigado por assistir a este vídeo. 36. Iteradores de JavaScript: Mais uma vez, estou de volta ao meu visor sudo codtor e agora vou executar a função iteradora Vou duplicar essa linha e vou comentar a anterior Vou atribuir um valor de string a essa variável. Vou remover este e vou amarrar hello world. E eu não preciso mudar nada no meu código. Se eu definir esse arquivo, você pode ver no meu console, ele corre todo o personagem Você pode ver que é o segundo sprint porque depois, precisamos usar outro caractere para olá É por isso que ele pula um personagem. Podemos imprimir um por um caractere da nossa string e também contar espaço. Dessa forma, podemos usar a função iteradora com string. Em nosso último exemplo, mostrarei como podemos criar nossa própria função iteradora Primeiro, vou remover essa linha. E então eu vou descomentar essa. Agora vou ler todos os valores, mas vou usar o método iterador Vou criar meu próprio iterador e vou remover toda essa linha Aqui eu vou criar minha própria função, e o nome da nossa função é número. Sempre que eu chamar essa função, vou passar essa matriz. Vou criar o número do nome da função. Número da função. Seja qual for o valor que eu enviar como argumento, para obter o valor, precisamos criar uma variável. No nosso caso, R significa matriz, porque vou passar matriz como argumento. Primeiro, dentro das calibragens, vou pegar uma variável lá Próximo número igual a zero. Para fins de iteração, precisamos dessa variável. Porque sabemos que nosso primeiro índice de A é zero, e depois vou incrementar essa variável Essa função retornará um valor. Vou digitar return e depois usar Carly ases E ele vai reter uma função, e podemos usar qualquer nome para essa função. Vou digitar em seguida. Na próxima função, retornarei outro valor. E aqui eu crio uma função dentro dessa função. Dentro das calibrações, quero retornar, se você se lembra, nossa função iteradora escreveu um objeto e, dentro dos objetos, valor escrito e pronto Da mesma forma, vou devolver um objeto. Para palavra-chave, vou digitar valor. E eu vou devolver qualquer matriz que eu obtiver. Vou digitar um duplicador e, dentro da base quadrada, vou incrementar essa variável. Vou copiar essa variável e colá-la aqui, e eu uso e uso mais nove para incrementá-la, e nossa próxima propriedade está pronta, e aqui vou passar false Agora eu quero chamar essa função no meu console. Vou digitar console dot log dentro do parêntese iter dot, e o nome da nossa função Se eu definir esse arquivo, ele imprimirá nosso primeiro valor 20. Se eu definir esse arquivo, você poderá ver meu console, ele gravará um objeto e imprimirá nosso primeiro valor 20. Feito cai e o valor é 20, e agora vou chamar essa função três vezes. Vou duplicar essa linha duas vezes. Se eu definir esse arquivo, você pode ver meu console, ele imprime três valores diferentes. Mas se eu chamar essa função pela quarta vez e definir esse arquivo, ele será escrito indefinido Mas o problema é o problema é feito de forma falsa. Mas precisamos retornar verdadeiro, como nossa função iteradora escrita Para isso, precisamos mover essa seção escrita dentro da condição P. Aqui eu vou criar uma condição e, I, e também vou criar outra condição. Dentro da edição, vou verificar o valor concluído. Dentro da condição e, vou digitar o próximo valor numérico menor que dot lane. Quero dizer, se o próximo valor numérico for menor que a linha de pontos, dentro da condição e retornará esse resultado. Da nossa parte, precisamos retornar a verdade. Vou copiar essa linha e colar aqui. Vou remover essa seção de valor e definir o valor De como verdadeiro. D, pessoal. Se eu salvar esse arquivo, você pode ver, opa, eu cometi um erro tolo. Eu digito a grafia errada para o comprimento, z t H. Se eu salvar esse arquivo, agora você pode ver no meu console que, para esses três valores, para esses três valores, a escrita cai, e não há um quarto valor em nosso NA, então está escrito verdadeiro Agora está claro para você como podemos criar nossa própria função iteradora Basicamente, o usamos se quisermos controlar a iteração. Se quisermos apenas imprimir o valor, sim, podemos. Só precisamos digitar o valor do ponto. Se eu definir esse arquivo, você poderá ver o valor exato 20. Essa é nossa própria função, que age como uma função iteradora Mas, como você pode ver, precisamos usar várias linhas de código para obter o resultado. Mas se usarmos a função iteradora , uma única linha de código é suficiente para obter o resultado No próximo vídeo, aprenderemos sobre geradores Obrigado por assistir a este vídeo. 37. Introdução aos geradores: Olá amigos, é bom ver vocês de volta. Neste resumo, aprenderemos um novo futuro sobre o Javascript moderno Geradores, suponha que temos uma função chamada demo, e dentro da função, eu digito algumas declarações múltiplas, como massas um massas duas massas três Sempre que precisarmos chamar a função, basta digitar o nome da função. Demonstração e, em seguida, imprimirá todas as declarações, uma por uma, em nosso console. Mas o problema é que não temos controle nessa função. Se eu chamar essa função, ela imprimirá todas as mensagens. Mas eu quero controlar todas essas fitas. Quando preciso imprimir a primeira mensagem, eu posso. E quando precisarmos imprimir apenas nossa terceira mensagem , eu posso fazer isso. E se eu quiser imprimir nossa primeira mensagem e nossa terceira mensagem, e eu quiser copiar nossa segunda mensagem, então podemos fazer isso Mas não podemos fazer isso em nossa função normal. Para resolver esse tipo de problema, versão seis do JavaScript S introduz um novo recurso chamado gerador. Os geradores são basicamente uma função, apenas para seguir uma forma diferente de criá-la Quando você cria uma função e usa um nome de função, precisamos usar estrela seno antes do nome da função Agora é uma função geradora. Agora podemos controlar todas as declarações dentro da função. Se você quiser interromper qualquer declaração, você pode, mas precisamos usar um rendimento especial de nome de palavra-chave, algo parecido. É uma pausa malvada. Eu declaro nossa função. Quando eu chamo essa função, ela vai pausar nossas declarações Se não chamarmos essa instrução, ela não será executada. Vamos ver como funciona. Primeiro, precisamos chamar a função. Precisamos criar uma variável e, em seguida, atribuir essa função a essa variável. Você pode ver em nossa primeira declaração que usamos rendimento. Significa que, desde nossa primeira declaração, pausamos nosso código Se quisermos ver as massas um, precisamos usar a função next, um ponto próximo. Aprendemos sobre isso em nosso vídeo anterior. Podemos imprimir essa declaração em um documento ou console. Depende de você, e essa função reterá um valor de massa um Então, essa função imprimirá nosso primeiro valor. Da mesma forma, se você quiser ver o segundo valor, precisamos usar a função next novamente. E se você quiser ver o terceiro valor, precisamos seguir o mesmo processo. Já aprendemos sobre isso em nosso vídeo anterior. Agora você entende os benefícios de usar um gerador. Temos controle total de nossas declarações. Então, vamos começar a prática e ver como funciona, e vou mostrar exemplos diferentes. 38. Tutorial de geradores: Aqui você pode ver, lado a lado, eu abro meu codaor do Visual Studio e também abro meu navegador usando a extensão Lp Server Eu já criei um ponto de índice de arquivo STL STL. Primeiro, vou criar uma tag de script. Dentro dessa tag de script, vou criar uma função normal. Vou vincular a função, então vou vincular a função, e você pode dar um nome para essa função. Vou usar gen como gerador. Dentro da função, vou imprimir duas declarações, registro de pontos, massas um e registro de pontos do console massas dois. Normalmente, podemos criar nossa função assim, e sempre que precisarmos chamar a função, basta digitar o nome da função, Gen, e pronto. Se eu definir esse arquivo e você puder ver meu console, ele imprimirá toda a declaração, massa um e em massa em duas. Ainda não temos cabeça de controle. Para controlar essa função, precisamos converter essa função em uma função geradora. Precisamos usar estrela seno antes do nome da função desta forma Dessa forma, podemos converter essa função em uma função geradora. Se eu chamar essa função, ela imprimirá qualquer massa em nosso console. Deixe-me configurar o arquivo. Aqui você pode ver, eu não imprimo nenhuma massa no meu console. Porque agora não é uma função normal, é uma função geradora. Se eu definir essa função geradora em uma variável, algo como late, A igual a g en, e retornar essa função em nosso console. Vou digitar console dot log dentro do parêntese, A. Se eu definir esse arquivo, aqui você pode dizer que está escrito Se eu abrir esse menu suspenso, é um gerador, e se eu abrir essa opção de gerador, ele fornecerá alguma função. Próxima função, escrita de função por função, usando esse método, podemos fazer nosso trabalho adicional. Na maioria das vezes, usamos a função next. Vamos usar essa função. Um ponto ao lado. Se eu definir esse arquivo, agora ele imprimirá nossas declarações. Vamos salvar o arquivo. Aqui você pode ver, ele imprime nossas massas, massas um e massas dois, e por último imprime o valor indefinido e pronto dois Isso significa que não há valor após as massas dois, mas já não temos nenhum controle em nossas linhas. Podemos usar a função el para controlar as declarações. Vou usar a função el depois dessa massa 1. Renda-se, e eu vou mandar uma mensagem, d Número um. Além disso, vou chamar essa função el até massas dois, el número dois. Quando eu chamo essa função, ela imprime nossas primeiras massas e, em seguida, executa o rendimento. Em seguida, ele pausa nosso código e para de executar outros códigos. Deixe-me configurar esse arquivo. Se eu definir esse arquivo, você pode ver, ele imprime massas um e, em seguida, nosso rendimento, retorna um objeto. Aqui você pode ver que estão escritos dois valores. Um está pronto e outro é valor. O valor concluído é falso e, dentro do valor, está escrito nossas massas, rendimento número um. E já sabemos por que o valor escrito de Don falso porque há outra mensagem em nossa função É por isso que está escrito cai. Se não houver mensagem em nossa função , ela será considerada verdadeira. Já aprendemos sobre isso em nossos vídeos anteriores. Agora vou chamar essa próxima função mais uma vez. Vou começar essa linha e definir esse núcleo. Aqui você pode ver que está imprimindo nossas massas. Se eu chamar essa função três vezes e definir o arquivo, ele será escrito indefinido e, em Don Value, será escrito verdadeiro porque não há terceiras massas em nossa função Se eu remover todo o núcleo e também remover a mensagem de rendimento e, em seguida, definir o código será escrito indefinido Significa que, se não houver valor no rendimento , é escrito indefinido Mas se eu atribuir qualquer valor, no nosso caso, um significa massas um e, em seguida, definir o arquivo, Halccy em valor é escrito M Agora eu preciso do meu código de volta, então vou pressionar control. E defina o arquivo. Para uma melhor compreensão, vou remover essas mensagens. Se eu definir esse arquivo, você pode ver, é print one e Eel two, e está escrito indefinido porque não há um terceiro valor para L. Vou criar outro l em nossa Então, vou duplicar essa linha e a número três. Se eu definir esse arquivo, agora ele está escrito como falso e agora quero imprimir um e três. Eu quero escapar de dois. Para isso, precisamos chamar essa função fora do console. Vou digitar a função A dot Next. Se eu definir esse arquivo, ricc imprimirá el um e L três. Dessa forma, podemos controlar essa função. Podemos executar qualquer seção específica usando geradores. Como eu disse no meu vídeo anterior, se você quiser imprimir esse valor diretamente, basta usar o valor do ponto. Se eu definir esse arquivo, você poderá vê-lo impresso. Você pode vê-lo imprimindo nossas mensagens diretamente. Mas o que? Se tivermos 300 de rendimento em nossa função. Nesse caso, podemos usar quatro loops. Deixe-me te mostrar isso. Vou remover as linhas e digitar quatro dentro do valor A dos parênteses, depois dentro do loop, o log de pontos do console dentro do valor do loop, o log de pontos do console dentro do dos Se eu definir esse arquivo, você pode ver meu console, ele imprime todo o rendimento. Não importa quantos ld use em sua função. Agora vou mostrar um novo método, como podemos usar o rendimento de uma maneira diferente. Para isso, vou remover essas linhas e usar um resultado tardio variável igual a el. Eu armazeno o valor el em uma variável de resultado. Preciso enviar o valor el. Para isso, vou remover essa linha e vou digitar um ponto em seguida. Sempre que eu chamo a próxima, automaticamente, ela chama a função geradora , e eu vou fazer essa linha, e vou passar o valor três n data. Agora esse valor é definido como valor de rendimento, e passamos o valor em uma variável de resultado. Também vou imprimir esse valor no meu console. Vou digitar o log do console. Dentro dos parênteses, vou usar o método de string de modelo Vou digitar morcegos. Dentro do batik, vou digitar colon do sine. Dentro do Css, vou passar esse resultado variável. E semicone para nesta linha. Se eu definir esse arquivo, você pode ver no meu console, ele está escrito 300. Basicamente, vou definir o valor ld fora da função. Em nossa função normal, enviamos valor como parâmetro e, em seguida, criamos argumentos para definir o valor em uma variável. Se eu usar oito funções seguintes duas vezes e enviar valor como parâmetro, ela definirá o valor como um valor. Além disso, podemos calcular nosso valor. Eu quero multiplicar esse valor por dez. Comece dez. Se eu definir o arquivo, você pode ver no meu console, ele retorna 3.000 Além disso, podemos enviar vários valores. Vou ler esta linha e vou enviar 400600 Mas se eu definir esse arquivo, ele retornará apenas um resultado porque usamos y apenas uma vez. Vou configurar esse arquivo. Ele pode ver que viu nosso resultado anterior, 3.000. Para obter todos os resultados, precisamos criar uma matriz. Vou remover essa linha e vou usar ss quadrado. Dentro do quadrado ss, precisamos digitar. E precisamos digitar yeld três vezes porque passamos três valores em nossa próxima função Vou digitar rendimento por vírgula, vá para rendimento. Para 300, ele vai usar este, e para 400, ele vai usar esse segundo oito, e para 600, ele vai usar o terceiro el. Se eu salvar esse arquivo, ele retornará um. Vamos salvá-lo. Aqui você pode ver, é todo o resultado. Como uma matriz de. Mas se eu enviar outro valor , vou duplicar essa linha Aqui você pode ver, nós apenas usamos três l em nossa matriz. Não vai devolver nada. Se eu definir esse arquivo, você verá que não há alterações. Agora eu quero ver o terceiro valor. Para isso, precisamos amarrar. Para isso, basta usar versos quadrados e, dentro dos versos quadrados, precisamos passar o número da matriz Dois porque nossa matriz começa com zero. Para nossa terceira matriz, precisamos passar dois. Se eu salvar esse arquivo, ele retornará apenas o terceiro valor de el, 600. Dessa forma, podemos verificar um valor de rendimento específico. Obviamente, podemos passar o valor da string dentro da próxima função. Agora eu quero passar um valor único com rendimento, e também quero passar valor com e. Vou remover essa linha. E eu vou digitar yield. Aqui eu vou digitar 44. Em nosso próximo rendimento, vou passar uma matriz. Em vez do quadrado ss, vou passar PHP coma Python, coma Java Agora eu quero ler o valor deles para isso, eu não preciso dessa linha, e eu vou e vou mover essa linha para dentro do console. Vou amarrar o log de pontos do console dentro dos parênteses dentro dos parênteses, vou passar E então marque para terminar esta linha, e eu vou duplicar essa Nossa primeira próxima função para nosso primeiro campo e nossa segunda próxima função para nosso segundo id, que é uma matriz. Se eu definir esse arquivo, você pode ver meu console, ele retorna nosso primeiro valor 44 e também retorna nossa matriz. Se eu abrir essa matriz, você verá que ela tem três valores, PH, Python e Java Em nossa função geradora, quando usamos vários rendimentos, podemos pegar um valor único, podemos pegar uma matriz e também podemos usar objetos Podemos usar qualquer tipo de valor com el. Desta vez eu quero, cada valor de matriz veio separadamente. Vou usar o Star Sin air. Se eu salvar esse arquivo, ele retornará nosso primeiro valor de matriz PHB. Se quisermos ver o segundo valor de ara, precisamos chamar essa função novamente. Se eu definir esse arquivo, aqui você pode ver nosso segundo valor, Python Para nosso terceiro valor, precisamos chamar novamente, é um script Java escrito. Mas se eu chamar essa função, mais uma vez, ela retornará indefinida Podemos imprimir o valor da matriz de forma diferente. Precisamos usar o seno estelar com rendimento. Em nosso próximo exemplo, vou usar o rendimento com o operador de pulverização. Vou remover essas linhas e também vou remover essa. Em nossa primeira palestra, vou digitar PHP. Em nosso segundo campo, vou digitar Python. Em nosso terceiro l, vou digitar Java. Em nossa quarta edição, vou digitar HTML. E isso é suficiente para este exemplo. Agora eu quero imprimir o primeiro valor em nosso console. Vou digitar o log de pontos do console e colocar o parêntese em um ponto Quero imprimir o valor deles diretamente e quero imprimir o valor diretamente, então vou usar o valor do ponto. Ponto e vírgula para finalizar a linha. Se eu definir esse arquivo, você pode ver que ele imprime somente PHP. Mas para os valores restantes, podemos usar o operador spread. Vou apostar nessa linha e dentro da seção lob do console, vou digitar o quadrado ss, e dentro do quadrado ss, vou digitar três pontos Aprenderemos sobre o operador de pulverização em nosso vídeo anterior. Não vou explicar aqui como funciona. Em seguida, digito o nome da variável. R. Se eu definir esse arquivo, aqui você pode ver, imprimirei todo o valor restante em uma matriz. Conhecemos a matriz escrita do operador de propagação. Mas se eu chamar essa linha para t e definir esse arquivo, ele retornará nossos dois primeiros valores e os dois valores restantes serão escritos como matriz porque usamos o operador de propagação. Há outra função que podemos usar com geradores, que está escrita. Deixe-me te mostrar isso. Vou remover essa linha e vou amarrar uma função escrita por pontos. Aqui, primeiro chamamos nosso próximo valor de PHP e, em seguida, chamamos nossa função escrita. Se usarmos written, ele para de executar nossos outros rendimentos, e também podemos enviar massas com written, digitando n. Se eu definir esse arquivo, aqui você pode ver que ele imprime nosso primeiro arquivo de Então está escrito significa nossa mensagem escrita, e também é impresso como verdadeiro, e já sabemos quando está escrito como verdadeiro. Se não houver outro rendimento nessa função, ela será escrita como verdadeira. Deixe-me te mostrar. Se eu tentar imprimir a próxima função, criar o código escrito e definir esse código, ele será escrito indefinido Mas você pode ver na minha função que existem outros três. O principal é não executar outros códigos de escalação porque usamos funções escritas Quando chamamos a função escrita, ela não consegue ler o próximo código. O principal benefício de usar a função escrita é quando temos que parar nosso código no meio da execução, então podemos usar a função escrita. Espero que agora esteja claro para você o que é gerador, por que e como o usamos. Obrigado por assistir a este vídeo. Nos vemos no próximo tutorial. 39. Modo restrito: Olá, pessoal, bem-vindos de volta. Neste tutorial, aprenderemos um novo recurso sobre o Java Script, que é o modo estrito. Normalmente, quando digitamos o código JavaScript. Pode haver um erro de sintaxe no código. Normalmente, nós o ignoramos. Além disso, ele não fornece nenhuma massa de erros ao nosso navegador, mas obteremos o efeito posteriormente. Como eu disse, o navegador não fornece nenhuma mensagem de erro. Portanto, é muito difícil corrigir esse tipo de erro. Deixe-me mostrar um exemplo. Como você pode ver, x é igual a 42. Aqui eu pego uma variável chamada x, atribuo um valor 42 e, em seguida, imprimo essa variável no meu console, e ela imprime 42 no nosso console. Mas se você perceber que há um erro em nosso código, quando eu atribuo o valor da variável, não fornecemos o tipo de declaração. Eu quero dizer que esse tipo de variável deve ser atrasado ou constante. O navegador também não vai retornar o erro. Há muitos erros de sintaxe que perdemos. É muito difícil de corrigir. Para resolver esse problema, o JavaScript lançou um novo recurso, modo estrito, ativado apenas para digitar uma declaração de símbolo no topo do código. Algo parecido. Dentro da citação, restrita, e então você pode digitar seu código JavaScript. Esse comando enviará uma mensagem estrita ao nosso navegador. Isso afetará nosso navegador se não houver erro de sintaxe em nosso código Envie a mensagem de erro e interrompa o código de execução. Agora você entende por que isso é muito útil. Podemos corrigir nosso erro com isso. Vamos começar a prática e ver como funciona. Aqui você pode ver, lado a lado, que abro meu criador de vídeos e abro meu navegador usando a extensão Life Server. Também crio um arquivo STL chamado Index dot STL. Primeiro, vou criar uma tag de script e agora vou criar uma variável, mas vou fornecer o tipo de declaração x igual a 242 Agora vou configurar esse arquivo e vou mostrar meu console. Aqui você pode ver que não há nenhum erro em nosso console. Vou digitar console dot log e definir a phesis ou a variável x. Se eu definir esse arquivo, você pode ver meu console, ele imprime nosso valor corretamente, mas há um erro de sintaxe em nosso código Não declaramos que seja constante ou tardio. Para resolver esse tipo de problema, o script Java introduz um clima estrito. Para isso, precisamos digitar a cotação e para inserir essa cotação, precisamos digitar E semicon para finalizar esta linha. É isso mesmo. Lembre-se de que, sempre, você precisa fornecê-lo por cima. Se eu definir esse arquivo, agora você pode ver no meu console, há um erro. X não está definido, linha número 11. Mas se eu usar e depois definir o arquivo, arroganc é o resultado impresso e não há erro Deixe-me mostrar outro exemplo. Para isso, precisamos criar uma função. Então, eu comento essa linha e vou criar uma função, função e nosso nome de função é hello. Dentro dos versos do carro, vou pegar uma variável, mas não vou declarar a B igual a 30. Além disso, vou remover essa palavra. Se eu definir esse arquivo, você pode ver, e também vou comentar estritamente. Se eu definir esse arquivo, ele verá que não há erro em nosso console. Mas se eu ativar a toupeira estrita e definir esse arquivo, você poderá ver o erro X não está definido. Vou digitar var. Se eu definir esse arquivo mais uma vez, você pode ver que não há nenhum erro em nosso console. Mas você pode ver que não fornecemos o tipo de declaração para essa variável. Vou chamar essa função. Olá. Se eu salvar esse arquivo, aqui você pode ver que B não está definido. Agora mostra o erro. Mas se eu digitar e definir esse arquivo, você verá que não há erro em nosso console. Aqui você pode ver nosso modo estrito, trabalhar na função e também funcionar fora da função. Por engano, se você digitar alguma coisa em seu código , ou seja, não seguir as regras e regulamentos do JavaScript , isso mostrará o erro. Além disso, podemos usar o método estrito dentro da função. Eu vou me mover dentro dessa função. Se eu remover essa palavra e definir esse arquivo. Agora, esse método só funciona dentro da função, não fora da função. Deixe-me te mostrar. Se eu definir esse arquivo, Harry poderá ver que não há nenhum erro em nosso console. Mas, como você pode ver, não usamos a palavra para declarar essa variável Mas se não usarmos a declaração dentro da função e depois definirmos o código, você pode ver o erro agora. Agora você pode ver o erro. E dois se verificarmos apenas esses códigos, que estão abaixo da rua. E agora vou mostrar outro exemplo, que também está relacionado à função. Por enquanto, vou remover essas linhas. Eu não preciso dessas linhas e vou passar algum parâmetro nessa função. Nosso primeiro parâmetro é A B, e nosso terceiro parâmetro também é B. Eu uso o mesmo parâmetro para nosso terceiro parâmetro e vou mover essa rua U para fora da função Por enquanto, vou comentar isso. Agora, dentro da função, vou adicionar esses três valores e quero imprimi-los no meu console. Vou amarrar o console. Registre pontos em vez dos parênteses, mais B mais B e ponto e vírgula fazem nesta Quando eu chamo essa função, vou passar três valores diferentes para essa função. Cinco, dez, 15. É isso mesmo? Sabemos que se somarmos essas três variáveis, ela retornará 30. Mas se eu definir esse arquivo, você pode ver no meu console, ele retorna 35. Está escrito um resultado errado, 35. Porque usamos nosso segundo parâmetro duas vezes. É por isso que está escrito 35, e você também não fornece nenhuma flecha em nosso cosme. É um problema muito complexo. Para evitar esse problema, podemos usar o método estrito. Então, vou descomentar isso. E eu vou salvar esse arquivo. Herc C M one, ele imprime um erro de sintaxe, parâmetro Bublgate não permite Nosso método estrito fornece uma mensagem de erro adequada. Mas se eu comentar nosso método estrito e definir esse arquivo , ele não fornecerá nenhuma mensagem de erro e também fornecerá um valor errado. Para resolver esse problema, precisamos usar o nome adequado da variável. C. Além disso, vou mudar aqui C. Se eu comentar isso e definir este arquivo, agora você pode ver que não há erro em nosso console, e também está escrito o valor exato. Aqui você pode ver usando o modo de rua, podemos encontrar o erro em nosso código Basicamente, erro de sintaxe, e eu sugiro que você sempre use o modo rua para seu código Basta incluir a linha primeiro e depois digitar seu código. É isso mesmo. Obrigado por assistir a este vídeo. 40. Tutorial de manipulação de erros: Olá, amigos. É bom ver você de volta. Neste tutorial, aprenderemos sobre o tratamento de erros. Você já sabe que podemos verificar o erro de Javascript no cônsul do navegador, mas às vezes é muito complicado entendê-lo Às vezes, todos os erros são mostrados ao mesmo tempo e é muito difícil corrigir todos os átomos de erro Para lidar com esse tipo de erro, temos um método especial em JavaScript. Tente pegar. já aprendemos um pouco em nossos vídeos anteriores. Seja qual for o código que quisermos fazer aqui, passamos todo o código dentro do bloco da tribo Se houver um erro dentro do bloco tribo, redirecione imediatamente para o bloco de cache e poderemos mostrar qualquer mensagem dentro do nosso bloco de cache Sem perder seu tempo, vamos começar pela prática Aqui você pode ver, lado a lado, que abro meus vídeos para o Criador e também abro o navegador Crome usando a extensão Live Server Primeiro, vou digitar a tag script dentro da tag head. Dentro da tag do script, primeiro, vou digitar um texto aleatoriamente Este texto não é uma variável , não é uma função Javascript ou não é um método Javascript. Se eu salvar esse arquivo, ele retornará um erro. Aqui você pode ver um erro de referência. Isso não está definido. Mas às vezes os erros são muito complicados de entender. Para isso, podemos usar o método tri catch. Primeiro, vou digitar try. Com isso, precisamos digitar catch. Dentro do bloco testado, podemos digitar qualquer código. Então, vou imprimir uma mensagem dentro do console. Registro do console entre parênteses, vou digitar start e então vamos finalizar Vou duplicar essa linha e terminar, e então dar um espaço entre essas duas mensagens Se ocorrer um erro, dentro do bloco de cache, enviarei uma mensagem. Registro do console dentro do erro entre parênteses. Se houver um erro nesse bloco de faixa, execute automaticamente o catch block. Se eu definir esse arquivo, aqui você pode ver que não há erro. Mais uma vez, entre essas duas mensagens, vou digitar um texto aleatório semelhante. Se eu definir esse arquivo, agora você pode ver no meu console. Primeiro, ele imprime nossa mensagem inicial e, em seguida, imprime nossa mensagem de erro. Se houver um erro em uma única linha, ele interrompe a execução de outros códigos e executa automaticamente o catch Mthold Deixe-me mostrar outro exemplo e vou convertê-lo em uma função. Como você pode ver, não declaramos essa função. Se eu definir esse arquivo, você pode dizer que ele escreveu o mesmo erro. Primeiro, ele executa nossa primeira mensagem e, sempre que tenta executar a função e depois é encontrada, não declaramos essa função Eu paro de executar outros códigos e começo a executar o catch block Da mesma forma, podemos imprimir essa mensagem de erro em nosso documento e agora quero ver o erro exato em nossos documentos. Ainda não sabemos onde está nosso erro. Quero imprimir esse erro exato no meu console. Para isso, vou colocar parênteses dentro do bloco catch após a captura e dentro dos parênteses, vou pegar vou No nosso caso, RR. Seja qual for o erro escrito, ele será armazenado nessa variável. E se você quiser, podemos imprimir nosso erro neste navegador ou console. Eu quero digitar e faço. Se eu definir esse arquivo, agora você poderá ver a mensagem de erro. Isso não está definido. Nós não definimos esse texto blá blá Com isso, podemos ver o número exato da linha. Dessa forma, podemos entender melhor o erro. Além disso, podemos lidar com nossos erros um por um. Isso não gerará todos os erros de uma só vez. Quero dizer mais uma coisa importante sobre o tri catch. Funciona de forma síncrona. Se usarmos a função de tempo limite definido, ela não funcionará corretamente. Deixe-me te mostrar isso. Eu quero remover essas linhas. Dentro do bloco triplo, vou usar o tempo limite definido. Dentro da função de tempo limite definida, vou criar uma função anônima e, em seguida, usar o latão do carro, e quero atrasar essa função mais uma vez Dentro dessa função, vou fornecer algum erro. Então, texto aleatório. Vamos aumentar o tempo de atraso, 3 segundos. Agora você pode pensar que, quando executarmos esse código, ele verificará esse em até três segundos. Se houver um erro, ele redirecionará o catch block. Não, não funciona assim. Bem, execute esse código. Nesse caso, ele não funcionará assim que o código começar a ser executado e virá em três blocos, e aqui e aqui, essa função verificará se ela deve ser executada após 3 segundos Em seguida, o código após definir a função de tempo limite, que começará a ser executado Se eu definir esse arquivo, ele pode C, ele não está mostrando as massas de erro adequadas do bloco de cache. Nosso método tri cache não funciona de forma síncrona. Mas podemos usar tri e cache block dentro da função de tempo limite definido Vou mover esse bloco de tri e cache dentro da função de tempo limite definido Vou cortar essa parte e movê-la para dentro desse bloco de tempo limite definido, e também preciso mover essa parte do cache. E dentro do bloco triplo, vou fornecer uma flecha Quando executamos nosso script, nesse caso, depois de três segundos, ele nos mostra o erro exato em nosso console. Deixe-me te mostrar isso. Vou salvar esse arquivo. Preciso esperar três segundos. Agora você pode ver o erro em nosso console. Isso não está definido. É um erro de referência. Precisamos usar tri e cache block dentro da função de tempo limite definido Caso contrário, não funcionará. Também podemos mostrar as massas de erro separadamente. Para isso, vou reduzir a função de tempo limite definido. Por enquanto, eu não preciso disso. Dentro do bloco de cache, vou amarrar o nome do ponto de erro. Eu escolho essa linha. Agora eu quero imprimir uma mensagem de erro. Mensagem de erro. Podemos imprimir mensagens de erro exatas de forma diferente. Se eu definir esse arquivo, você poderá ver o nome do erro, o erro de referência. Uma mensagem de erro. Blá, blá não está definido. Se você quiser ver o nome da seta e as massas de erros juntos , podemos usar stack rot stack Se eu definir esse arquivo, agora você poderá ver a mensagem de erro do nome do erro de uma só vez. Usando a pilha de erros, podemos imprimir a mensagem de erro do nome do erro juntos Se você quiser imprimir a mensagem de erro ou o nome do erro de forma diferente, você pode. A linha mais importante é a mensagem. Só queremos saber qual é o erro exato. Podemos comentar as duas linhas e simplesmente imprimir a mensagem. Se eu revogar esse comentário, você verá um erro de referência Agora a pergunta é: qual é o erro de referência? Agora vou dizer quantos tipos de erro existem no Java Script. Aqui você pode ver sete erros de diferença no script Java. Nossa primeira flecha é um erro maligno. Esse erro ocorre quando usamos a função maligna. Não é uma flecha muito importante. Em seguida, vem o erro de alcance. Isso ocorre quando usamos um atributo de intervalo steml. Se o erro veio através do atributo range, então podemos mostrar a seta usando a função de erro range. Nossa seta principal e importante é a seta de referência. Se eu chamar uma variável ou função, que não está definida em nosso núcleo. Então é um erro de referência escrita. Depois vem o erro de sintaxe. É o erro mais básico e importante. Quando você usa loops ou condições. O erro de digitação é o problema básico para iniciantes. Às vezes, esqueci de incluir calibragens, cotações, etc Nesse caso, ocorre um erro de sintaxe. Então vem o erro de digitação. Como você sabe, existem vários tipos de variável, bulion, número, string, etc Esses são tipos predefinidos. Por engano, o usuário digita um tipo diferente de entrada e, em seguida, ocorre um erro de digitação. Nosso próximo erro é erro de URI. Esse erro ocorre. Quando passamos o URL na barra de URL. Se você digitar algum método errado para passar o URL na barra de URL, ocorrerá um erro de URI e nosso último erro será um erro agregado Falei sobre esse erro em nosso vídeo sobre o método de promessa. Quando usamos todos os métodos prometidos. Se houver um erro, usamos o erro agregado. Quando usamos o método tri cache em Java Script, podemos mostrar esses erros Vamos começar a prática. Para isso, primeiro, vou remover todos os métodos. Se ocorrer um erro diferente, para isso, podemos imprimir mensagens diferentes. Podemos usar a condição P para isso. Se estiver dentro dos parênteses, nossa instância de erro do erro de referência Para isso, podemos mostrar uma mensagem diferente. Dentro do console, vou digitar o erro de referência. Você pode mostrar qualquer erro de mensagem adequado e agora vou imprimir massas diferentes para erro de tipo. Vou digitar LCP. Dentro dos parênteses, vou copiar essa linha e alterar o erro de referência com erro de tipo Dentro do clivss, vou imprimir o log de pontos do console, dentro dos parênteses, dentro dos parênteses Se nosso erro for uma instância do tipo error , ele imprimirá essa mensagem. Podemos criar condições LSP diferentes para erros diferentes Por fim, vou criar condições entre parênteses, erro desconhecido do log de pontos do console Se eu salvar este arquivo, aqui você pode ver a seta de referência do sprint e ocorre um erro de digitação e, em seguida, ele imprime essas massas Caso contrário, ele imprime todas as setas. Se quisermos obter dados do servidor como um jason , usamos try and catch Deixe-me te mostrar isso. Então, vou remover toda a pontuação. E dentro do bloco testado, vou pegar uma variável. SN tardio, e vou atribuir dados de Damien a essa variável Já aprendemos sobre o JN em nosso vídeo anterior. Como propriedade, vou colocar o nome dentro do nome do curso duplo. Cólon dentro do curso duplo adiciona um. Da mesma forma, vou usar outra propriedade H. É um valor numérico e é 24 É um valor numérico, então eu não uso aspas É uma licença do JN. Suponha que obtenhamos esses dados do servidor. Para isso, podemos usar o método F ou jx. Depende de você Primeiro, precisamos converter esses dados em um objeto de script. Vou usar uma variável Late user e vou usar um método JN. JSON ps. Dentro dos parênteses, vou fornecer o nome da variável JSN. Basicamente, a função Jon dot parts , convertendo o objeto Json em um objeto Javascript. Da mesma forma, temos a função oposta, Json dot stringify, e convertemos nosso objeto Javascript em Se quisermos converter os dados do servidor em um objeto , precisamos usar a função Jen dot Parts Se quisermos passar dados para o servidor, convertemos o objeto Javascript em dados JSN usando o método Jon dot stringify Agora podemos ler os dados da variável do usuário. Vou imprimir os dados no meu console. Registro de pontos do console entre parênteses, nome do ponto do usuário. Se houver uma seta em nosso código, vou imprimir essa seta no meu console, console dot log r, e também quero imprimir o aluno H. Faça essa linha, U H. Antes de configurar esse arquivo, precisamos mover esse código JSON dentro da citação Caso contrário, ele agirá como um objeto Javascript. Se eu definir esse arquivo, aqui podemos ver nome do aluno adicionar um e tem 24 anos. Se houver um erro no servidor ou no arquivo JN , podemos mostrar a mensagem correta usando tri e cache block Suponha que haja um erro no arquivo JN. Alguns, uma citação. Agora, o formato JSON não está correto. Se eu disser este arquivo, aqui você pode ver há um erro na linha número 14, erro de sintaxe, token A inesperado no JN na posição 16 Não consegue ler o A. Esperava uma citação, não o caractere A. É por isso que está escrito o erro. Se você mostrar suas próprias massas, sim, você pode. Para isso, podemos lançar uma massa de erro do bloco tribo Deixe-me te mostrar. Mas primeiro, vou resolver esse arquivo JSM E agora vou criar uma condição. Dentro do parêntese, se não recebermos o nome de usuário no formato JSON, dentro da condição e, eu vou lançar Usamos um método diferente para lançar um novo erro, só isso. Dentro dos parênteses, vou lançar uma mensagem, dados incompletos, e nossa mensagem não tem Vou mover essa linha abaixo da condição ep. E agora vou remover o nome dos dados do JN. Se eu salvar esse arquivo, aqui você poderá ver dados incompletos, sem nome e, após colocar a mensagem de erro, ele interromperá a execução do nosso código Quando lançamos a mensagem de erro, ela redireciona automaticamente para o bloco de cache e imprime a mensagem em nosso console Finalmente, quero te mostrar uma coisa. Tentamos bloquear o cache, podemos usar outro bloco. Finalmente. Basicamente, é opcional. Se usarmos finally block, não importa o que ele será executado. Basicamente, quero dizer que, se houver um erro em nosso código, ele para de executar outro código em nosso bloco tri, mas não pode parar de executar o bloco finito Deixe-me mostrar o log de pontos do console dentro dos parênteses, vou imprimir uma mensagem Não importa o que eu vou imprimir. Se eu definir esse arquivo, ele poderá ver, primeiro imprimiu nosso erro, dados incompletos, sem nome, e depois imprimiu, não importa o que eu vou imprimir. Se eu resolver o nome do erro, adicione um. Se eu definir esse arquivo, você poderá vê-lo imprimir o nome do aluno e um. Além disso, imprime estudantes de 24 anos, e então você entra no bloco de finalidades e imprime, não importa o que eu vou imprimir Não vai verificar, há um erro ou não. Esse bloco sempre será executado. Finalmente, o método é executado em todos os casos. Espero que agora você entenda por que usa o bloco try and catch e como podemos lidar com erros em nosso código. Obrigado por assistir a este vídeo.