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.