Transcrições
1. Introdução: Bem-vindo ao curso certificado JavaScript. Neste curso, começaremos com o nível básico. Você aprenderá a linguagem de programação, JavaScript, que torna as páginas da Web vivas e nós iremos praticamente impraticáveis. Não vou mergulhar na teoria do JavaScript porque você pode ler isso em qualquer lugar. Começaremos diretamente, instalaremos nosso ambiente e
instalaremos as extensões necessárias e começaremos a programar com Java Script. Meu nome é bastante novo e vou ensinar a você Java Script e como você se desenvolve com ele. Eu ensinei milhares de alunos em cursos offline e online. Então, para isso, vamos começar com o JavaScript. Começarei com uma apresentação muito simples que explicarei o que é JavaScript. E veremos um exemplo do mundo real, como o JavaScript está tornando os sites vivos. Portanto, este curso foi criado para ser desenvolvedor certificado. Então, no final deste curso, você terá o nível básico como desenvolvedor certificado para começar em um júnior em qualquer empresa. Então, se você já conhece HTML e CSS, você está pronto para começar com JavaScript. Então, como veremos aqui, vamos aprender um JavaScript que torna as páginas da Web vivas. Então, em outras palavras, o JavaScript é uma linguagem de programação e você pode escrever programas com essa linguagem. Mas esses programas chamados de scripts, eles não são chamados como programas como sabemos, como em Java ou em C Sharp ou em qualquer outra linguagem de programação, estamos escrevendo aqui scripts. Então você tem que aprender essa palavra. Então, quando eu digo, ok, certo Para mim um script, significa
que você pode escrever algum pequeno programa com JavaScript. E também este programa que eles podem ser escritos diretamente nas páginas
da Web HTML e ser executado automaticamente quando você carrega a página. Então, quando você abre qualquer página da Web, você verá como alguns de vocês à sua frente, que é HTML e CSS. E você verá algum movimento ou animação ou, por exemplo, registro para um registro de formulário para procurar. Portanto, isso significa que esses JavaScript estão lidando com todas essas operações que podem ser feitas e interagem com a página entre o usuário e o servidor. Portanto, dessa forma, você não precisa de uma preparação especial para compilação para executar o aplicativo ou para executar um aplicativo JavaScript. Então, para isso, vamos ver alguns exemplos ao vivo. Eu preparei alguns exemplos ao vivo. Por exemplo, este. Então aqui temos alguma biblioteca que é chamada de splicing. Esta é uma biblioteca JavaScript que está fazendo como um slides. Então, dessa forma, como você vê aqui, se eu tiver apenas HTML e CSS e clicar, clicar nessas setas, não
terei nenhuma interação. Mas quando adiciono código JavaScript a essas páginas ou a esses elementos no HTML e CSS. Eu tenho essa animação, então eu tenho um controle deslizante onde posso exibir algumas informações para os usuários, como qualquer site. Portanto, esse é um dos exemplos de JavaScript. E também, se você ver aqui que podemos construir galerias de imagens. Então, quando o usuário vem e clica em algum lugar, ele pode ver uma imagem ou uma imagem maior do que clicou. Portanto, o usuário está interagindo com a página, e essa interação vem do JavaScript. Portanto, o JavaScript é literalmente responsável pela interação entre o usuário e a página. Além disso, quando eu quiser postar um endereço de senha de e-mail de formulário e toda essa interação, eu queria este livro, coloquei esses dados e clique em, faça login neste clicando no que vai acontecer? Vou enviar meus dados para o servidor e esses dados serão armazenados em algum lugar. Portanto, não posso me perder nisso, por exemplo, fórum ou nesta loja. Então, nesse caso, toda essa interação do usuário, que acontecerá na página da Web, é gerenciada pelo JavaScript. Simplesmente, isso é JavaScript, então você não precisa preencher seu cérebro com muitas ideias e muitas apresentações. Vamos tomar essa introdução como um básico para nosso curso e continuaremos passo a passo para aprender como fazer programas interagindo com o HTML e o CSS das páginas da Web.
2. JavaScript é para tudo em todos os dias: script Java hoje não é usado apenas para desenvolver sites ou fazer interação com o usuário e as páginas da Web. Sabe, é usado principalmente para tudo. Estou dizendo que literalmente como tudo. Porque, por exemplo, você pode criar um aplicativo de servidor e também um aplicativo móvel, como veremos mais adiante. Mas o que está tornando essa linguagem é muito único hoje em dia. Ele tem total integração com HTML e CSS. Então você não precisa se importar, ok, eu preciso instalar alguns extras para integrar com HTML e CSS. Não, o JavaScript funciona diretamente com HTML, CSS com muitas funções e muitos comentários que você pode alterar na estrutura do HTML e CSS. Além disso, coisas simples são feitas simplesmente o que isso significa. Isso significa que o JavaScript tem alguns métodos já definidos onde facilita sua vida para que você possa criar Arrays, criar objetos. Claro, você não sabe do que estou falando, mas todas essas informações são abordadas nesse idioma. Por isso, torna sua vida fácil criar coisas simples com essa linguagem simples. E a parte mais importante que todos os navegadores como FileZilla, Google Chrome e também Internet Explorer ou Microsoft Edge. Todos eles concordam em adaptar esse idioma para serem executados nas páginas da web. Portanto, todos os navegadores estão suportando ou estão suportando esse idioma, e eles estão ativando o JavaScript por padrão. Então, dessa forma, o JavaScript é a única tecnologia de navegador que combina essas três coisas. Então, para isso, o JavaScript
também permite criar servidores, criar aplicativos móveis e aplicativos da web. Por exemplo, existem algumas estruturas que são escritas ou elas
suportam a linguagem JavaScript para realizar objetivos diferentes. Por exemplo, posso criar um aplicativo de servidor onde me comunico com o banco de dados e capturar dados do banco de dados e enviá-los para o front-end ou para a página da Web onde o usuário pode ver esses dados. Então, para isso, normalmente estávamos fazendo usando algumas linguagens de servidor, como PHP ou dotnet, ou outras linguagens de programação que são realmente especializadas para o servidor. Mas agora com JavaScript, você pode escrever sintaxe JavaScript e criar um aplicativo de servidor, o que é ótimo. Além disso, você pode até criar aplicativos móveis usando JavaScript. Portanto, o aplicativo móvel funciona na Apple e também no Android. Então, dessa forma, quando você escreve também JavaScript, você terá um aplicativo funcionando no iOS e também no telefone Android. E a tecnologia ou a estrutura que é construída sobre JavaScript para fazer isso é chamada React Native. Além disso, você pode criar aplicativos da Web de página única. Por exemplo, melhor ter uma instalação para o aplicativo, como podemos dizer, você precisa instalá-lo em todos os PCs. Você pode criar algo chamado aplicativo da Web e este
aplicativo da Web que todos os clientes ou todos os usuários desse aplicativo, e eles podem abri-lo via navegador e depois trabalhar com ele. Isso é chamado de aplicativo web e um framework famoso para isso é chamado de angular. Então, como você vê, tudo isso está escrito ou você pode escrever com JavaScript para obter um alvo específico. Então você vê que o JavaScript agora está tudo fazendo tudo por você hoje em dia. Aplicativo de servidor usando Node.JS, aplicativo
móvel usando o React Native e também aplicativos da Web usando Angular ou React. E, claro, não mencionei todas as estruturas aqui. Eu mencionei o mais ou o mais hype. Podemos dizer frameworks para fazer isso com JavaScript. Mas, claro, há cada vez mais estruturas. Você pode fazê-los e usá-los. Portanto, para passar para a próxima etapa com Java Script, você pode, após esses cursos de como o nível básico,
no nível avançado, você pode movê-los para um servidor e, em seguida, você pode fazer ou escolher alguma estrutura de aplicativos da Web ou aplicativo móvel. Então, dessa forma, você será um desenvolvedor de pilha completa com uma linguagem de programação chamada JavaScript.
3. Configurando ambiente: Escrevendo um código ou uma linguagem de programação, você precisa de um editor para ele. Claro, você pode usar um editor mais simples que você tem em seu sistema operacional, como um bloco de notas ou, por exemplo, até mesmo uma ala, ou mesmo qualquer editor que você tenha no seu, instalado em seu sistema operacional. Mas para o 4º ano, JavaScript, existem alguns editores que facilitam sua vida. Assim, você pode ter alguns recursos que podem acelerar sua codificação e produtividade. Até agora, posso começar com o editor mais simples que você vai usar. Por exemplo, há o Notepad Plus, Plus. Este bloco de notas Plus Plus é um editor muito simples que ajudou você a destacar como algumas palavras-chave e também abrir e fechar os intervalos de funções e métodos como veremos mais tarde. E também ajuda você a abrir vários arquivos ao mesmo tempo em uma janela. Claro, o Notepad Plus, Plus trabalhando no Windows, existem outros editores para Mac. Podemos usá-los também. Outro editor que está tornando sua vida ainda melhor e mais fácil é o Visual Studio Code. O Visual Studio Code é um editor criado pela Microsoft, e eles o estão usando para criar ou escrever várias linguagens de programação nesse editor. Portanto, ele suporta não apenas JavaScript ou HTML ou CSS, mas até mesmo a TI suporta Python, é suporte escuro, suporte de TI flutter é o suporte. Muitos idiomas com base nas extensões que você instala nesse editor também. Existem vários outros editores. Por exemplo, como átomo. Atom também é uma ótima ferramenta para edição ou edição texto ou até mesmo escrever um código em alguma linguagem de programação. Há também um sublime. Esta também é uma ferramenta ou editor que pode organizar seu arquivo em comum. Isso ajudará você a criar os arquivos e programas. E também contém todo o destaque e a coloração de seus trechos de código. Para este curso, vamos instalar o Visual Studio Code. Vou colocar todos os links de todos esses editores com essas palestras e você pode instalar o que quiser. Mas, para este curso, vamos usar o Visual Studio Code porque ele tem vários recursos nos quais podemos instalar extensões extras. Faremos como nossa codificação de produtividade melhor, mais. Então, quando você quiser instalar, basta clicar em baixar o código do Visual Studio e ele baixará algum arquivo zip. E este arquivo zip, você pode abri-lo. Claro que no Mac, será um único arquivo que está concluindo o aplicativo em si. E no Windows, você também terá a instalação para Windows e também para Linux. Então, para o Windows, você terá um arquivo EXE. E este arquivo EXE você pode executar o processo de instalação como qualquer programa e você será, ou ele será instalado em sua máquina. Então, após a instalação do Visual Studio Code, teremos essa janela. Portanto, esse é o Visual Studio Code. Eu tenho projetos anteriores, tenho eles aqui recentemente, e também tenho alguma abertura para um arquivo ou abrindo uma pasta em si. Veremos mais tarde como criaríamos a estrutura de pastas para um projeto JavaScript. Então, vamos ter como a codificação nesse editor. Então, por enquanto, se você receber essa janela, você está pronto para começar a desenvolver com JavaScript.
4. Seu primeiro projeto de JavaScript em JavaScript: Ok, vamos fazer diretamente algum trabalho prático. Vou abrir uma pasta. Então, se você já tiver experiência com o código do Visual Studio, porque presumo que você aprendeu HTML e CSS. Portanto, tenho certeza que você usou antes de um editor chamado Visual Studio Code. Mas se você não usá-lo, eu falei sobre isso anteriormente e agora temos essa janela, vou clicar em abrir. Então, não abrirei o arquivo deles, mas uma pasta. Portanto, esta pasta manterá para mim a estrutura do projeto de JavaScript. Então, vou clicar em Abrir e irei para minha área de trabalho. Eu criei aqui uma pasta chamada curso JavaScript. E nesta pasta, vamos colocar nosso projeto JavaScript ou arquivos JavaScript. Então eu clico em Abrir e abro uma janela para mim. Então aqui você tem alguma notificação sobre você confia nos autores desses arquivos dentro desta pasta? Você só tem que dizer, sim, eu confio. Então agora temos uma pasta vazia, mas agora podemos criar arquivos dentro dessa pasta. Como podemos criar um arquivo. Assim, você pode clicar neste ícone ou pode dizer diretamente um novo arquivo aqui. Mas, por exemplo, prefiro que você feche isso
começa e trabalhe sempre com esse explorador de arquivos. Isso é chamado File Explorer aqui. Assim, você sempre pode trabalhar com seus arquivos de projeto diretamente no editor. Então, para isso, vou criar um arquivo. Vou chamar esse ponto de índice de arquivo HTML. É um arquivo HTML. Ele vai guardar para nós o código HTML da nossa página da Web porque, como eu disse, temos uma página da Web contém HTML
e CSS, e vamos controlar esta página e torná-la viva usando JavaScript. Então, antes de tudo, precisamos ter um arquivo HTML. Certo? Este arquivo HTML está vazio. Você não pode criar uma base de código HTML ou a placa padrão
do HTML digitando HTML ou no editor HTML dois pontos cinco. Então, quando você coloca isso, ele gerará para você toda a estrutura de boilerplate para uma página HTML no editor. Este é um dos recursos interessantes que é incorporado no Visual Studio Code. Para isso, tenho certeza que você já sabe sobre essa citação, sobre esse HTML, porque HTML é outra linguagem que é construída para criar a aparência interface do usuário da página da web ou a interface do usuário da página da Web. Então, vamos ver como esta página se parece no navegador. Então, antes de tudo, vou clicar com o botão direito do mouse neste arquivo e direi aliviar ou revelar no Finder isso, você o encontrará no sistema Mac ou no sistema iOS, mas no Windows, você dirá Revelar no explorador. Então, quando eu clico nesta Revelação no Finder, eu terei, ou ele abrirá para mim o localizador normal ou a janela onde o arquivo está localizado. Então, clicamos duas vezes, basta clicar duas vezes neste arquivo e ele será aberto com o Chrome. Mas se não estiver funcionando, então você pode selecionar Abrir com e abrir com, você pode selecionar o aplicativo que abrirá este arquivo normalmente é um Google Chrome. Então você precisa para isso um navegador Google Chrome, que você também pode instalar a partir de um navegador. Então, qualquer navegador, então você não pode ter isso diretamente e você pode trabalhar com JavaScript. Eu aconselho você a usar o Google Chrome porque ele tem ótimas ferramentas para desenvolvedores. Então, vamos depurar e compilar, ler ou ver os erros
do JavaScript quando cometemos um erro dentro do Google Chrome Developer Tools, falarei sobre tudo isso mais tarde. Então, primeiro abro a página. Então, como você vê aqui, nós o abrimos agora, mas está vazio. Então, vamos colocar algo no corpo. Então aqui vou dizer como H1. E dentro desta vou colocar a página JavaScript. Então podemos dizer aqui como a página JavaScript e volto ao meu documento, vou atualizar e, em seguida, terei aqui a página JavaScript. Então aqui estou refrescante. Vou te mostrar, aqui me refresco. Então eu tenho uma página JavaScript. E para usar as ferramentas de desenvolvedor que eu lhe disse, você pode clicar nesses três pontos e, em seguida, você terá algo mais ferramentas. E com isso mais ferramentas, você verá algo chamado Developer Tools. Você tem outra maneira de abrir as ferramentas do desenvolvedor pode pressionar F2 no teclado ou você também pode mouse nesta página ou neste texto e com o botão direito ou clicar em Inspecionar. Então, quando você clica em Inspecionar, você terá aqui as ferramentas do desenvolvedor. Portanto, as ferramentas do desenvolvedor são, na verdade, inesperadas como
temos o código do nosso HTML e tenho certeza que você sabe disso anteriormente. Então agora vamos trabalhar com a fonte e também com o console. O console aqui produzirá para nós os resultados do JavaScript dentro deste console. Então, no DevTools, você verá algo que é chamado de console. E este console, ele irá conter para você todas as informações que são produzidas do JavaScript. Então, quando você quiser imprimir algo ou quiser interagir com algo como, por exemplo, quando eu quero clicar neste texto, quero ver algum texto aqui ou saída. É como uma ferramenta de depuração. Então você aqui você depura seu código e vê qual é a saída do código JavaScript, como veremos mais tarde. Então, para isso no início, abrimos algo assim e depois passamos para nosso código do Visual Studio de volta. E dentro da tag head, vamos adicionar o script. O roteiro, como eu disse, é um programa de JavaScript. Como eu disse, todos os programas que são escritos com JavaScript, eles são chamados de script. Para isso, temos que abrir uma nova tag, que é chamada de script. E dentro deste DAG, podemos localizar um código JavaScript. Um dos códigos JavaScript, que é muito famoso, é chamado de log de pontos do console. Então, dessa forma, o console, ele me procurará alguns dados ou algum texto dentro do console, que está localizado nas DevTools como eu mostrei antes. Então, aqui, quando eu escrever algo no log do console e atualizar minha página, verei o resultado disso ou execução do código JavaScript que está escrito dentro desse script. Então aqui terei um console.log e depois colocarei, por exemplo, projeto JavaScript. E então vamos economizar. E então iremos novamente para nossas DevTools e atualizaremos a página. E veremos o projeto JavaScript e ele está nos mostrando de onde vem esse log do console, de qual linha em qual arquivo. Então você vê que vem do index.html online nove, e a saída é projeto JavaScript. Então, aqui estamos nós. Como eu disse, temos código HTML, que está dentro do corpo. E também temos scripts. O script é um JavaScript ou a vida útil
da página que vai interagir com esse HTML para criar algumas coisas únicas que estão interagindo com o HTML usando este pequeno programa que é chamado de script. No idioma JavaScript, o log
do console é usado para depurar nosso aplicativo para ver onde estamos tendo erros, onde estamos tendo erros, como veremos mais adiante. E vamos desenvolver passo a passo.
5. Como criar um arquivo de JavaScript separado: É sempre bom quando temos um código JavaScript separado do nosso aplicativo ou da página HTML. Então, para isso, também podemos cortar todo esse código e colocá-lo no arquivo separado. Então, para isso, você pode criar outro arquivo que é chamado, por exemplo, também index.js, que é segurar o JavaScript, ele tem extensão dot js. Então NodeJS significa que este é um arquivo JavaScript. Portanto, o editor já sabe que dentro desse arquivo haverá um código JavaScript. Então, para isso, pressionarei Enter. Depois de criar esse arquivo, moverei esse script ou essa linha de código que escrevi com JavaScript para esse arquivo. Então, depois de salvar isso e salvar esta, vamos recarregar nossa página e recarregar o aplicativo. Então, quando eu atualizar, verei que não tenho nada no log do console. Então, dessa forma, preciso conectar de alguma forma esta página HTML com esse arquivo JavaScript. Então, para isso, você pode remover esse script. E então você pode digitar script novamente. E com este editor você pode ver como dois pontos, SRC, como uma fonte. Então, quando você pressiona Enter, você também terá algum atributo chamado de fonte, como onde está o arquivo de origem desse script? Simplesmente, você acabou de dizer que index dot js é o arquivo em que estou tendo meu JavaScript. Então, vamos salvar e ir novamente para a página e atualizar. Veremos o projeto JavaScript. Parece que o arquivo index.js na linha 1 tem um código JavaScript. Então, index.js é nosso código JavaScript para esta página. Claro que você pode colocar também dentro da pasta. Então, aqui, quando eu crio uma pasta, por exemplo, chamo essa pasta como um JS e movo index.js dentro dessa pasta. Então agora JS é uma pasta que contém index.js e na raiz eu tenho index.html. Então, depois disso, veremos que a página não pode ver essa página. Então, podemos ter um erro aqui. Então diz que o erro get file index.js, o arquivo não foi encontrado. Então, porque eu disse aqui orando por mim, que está no mesmo nível de index.html, há um arquivo chamado index.js, mas na verdade não está no mesmo nível de index.html está em um nível de uma pasta dentro js, e então eu tenho index.js. Então, dessa forma, posso adicionar essa pasta. Portanto, a pasta tem o mesmo nível de index.html nessa rota. Então, temos aqui js e depois barra e depois index.js. Então, dessa forma, o arquivo ou o arquivo HTML saberá que existe um arquivo JavaScript dentro da pasta JS. Então, vamos dizer novamente, vá novamente ao nosso navegador, atualize a página. Bom. Temos esse arquivo. E quando você clica neste index.js, você verá que o arquivo está localizado no arquivo js ou na pasta JS
e, em seguida, você terá index.html. Vamos trabalhar com todo esse ambiente mais tarde. Agora nos preocupamos apenas com o console. A maneira prática de arquivar ou definir a estrutura de arquivos em javascript é normalmente, ou o que os desenvolvedores estão fazendo é normalmente como se tivéssemos uma pasta chamada ativos. Portanto, nestes ativos, você pode adicionar suas imagens ou scripts ou arquivos CSS. Então, dentro desses outsets, vou colocar a pasta JS e, em seguida, você também
pode ter outra pasta chamada CSS. E dentro do CSS, você pode colocar seus estilos. Então, para isso, o index.js estará dentro da pasta JS, que está localizada dentro dos ativos. Então, dessa forma, tive que adicionar aqui outro nível que é chamado ativos, que é a pasta que está sobre o js. Portanto, se você perceber que o Visual Studio Code também fornece um recurso quando você digita uma pasta e coloca barra, ele será navegar ou continuar automaticamente. Qual é a próxima pasta? Então, a próxima pasta para mim é js. Então, quando coloco ds e pressiono Enter, ele é adicionado automaticamente. E então me dá a próxima edição, que é o arquivo dentro da pasta JS. O arquivo é index.js. Temos apenas esse arquivo. Pressionarei enter e ele será adicionado no meu projeto ou na minha página HTML. Então, para isso, temos uma pasta, ativos e index.html. Então, quando voltarmos ao navegador, atualize e veremos que o projeto JavaScript está no console e nossa página está funcionando bem. Então, dessa forma, estamos prontos para escrever um código JavaScript e também podemos criar vários arquivos, como veremos mais adiante do JavaScript.
6. Como nomear arquivos em JavaScript: Nesta palestra, veremos como podemos nomear os arquivos do JavaScript. Existem muitas convenções de nomenclatura e muitas regras de nomenclatura onde podemos seguir para nomear nossos arquivos JavaScript. Especialmente no caso de o arquivo consistir em duas palavras, como por exemplo, direi indexar JavaScript ou indexar algo. Vou te mostrar um slide. Onde estão as convenções de nomenclatura, que os desenvolvedores concordaram juntos em seguir para nomear arquivos JavaScript. Existem várias convenções de nomenclatura. O primeiro é chamado CamelCase. Camelcase, como você vê que temos a primeira letra da primeira palavra está na letra pequena, e depois tem a letra maiúscula da segunda palavra. Então, como você vê aqui, duas palavras, e a segunda tem uma letra maiúscula. Isso se chama CamelCase. Há outra convenção de nomenclatura chamada de caso Pascal, onde a primeira letra de cada palavra é maiúscula. E isso também é um caso K-Pop. olhar K-pop é separado entre as palavras com traço e todas as palavras são escritas em letras pequenas. Há também um caso de serpente, que combina todos esses juntos,
mas com separação de sublinhado entre as palavras. Então aqui temos um estojo de cobra Pascal. Então, como você vê, letra maiúscula de cada palavra, mas elas são separadas com sublinhado. E também há aqui que, por exemplo, Kip up snake case. Então isso desistiu do olhar de cobra. Tem em vez de traço, temos aqui sublinhado. Então, dessa forma, você pode nomear seus arquivos naquela ou nessas convenções de nomenclatura. Para mim, prefiro em projetos JavaScript
simples usar o olhar K-Pop para nomear os arquivos. Então, como você viu aqui, quando você acessa nosso Visual Studio Code e criamos um arquivo como, eu uso letras sempre pequenas e separei entre as palavras com traço.
7. Estrutura de código: A primeira declaração de JavaScript, que vimos é console.log. E essa declaração você pode escrever o quanto quiser dessas declarações em seu código. Por exemplo, vou ter aqui o projeto JavaScript log do
console. Você tem projeto ascii. Posso ter esses comentários tanto quanto eu quiser. Essas afirmações. Eles podem ser separados por ponto e vírgula, como você vê aqui. Então, dessa forma, terei esse log do console 3 vezes quando atualizar minha página como você vê aqui. Mas agora você pode, assim
como uma estrutura de código, você pode colocar essas instruções próximas umas das outras na mesma linha, mas você deve sempre ter um ponto e vírgula. Caso contrário, se estiver na mesma linha, você receberá um erro. Porque isso vai pensar que console.log tem um resto de seus comentários, prisão de código, algo como JavaScript não pode reconhecer. Portanto, não podemos dizer que a nova linha em JavaScript é igual a ponto e vírgula porque esse código, como você vê aqui, funcionará bem sem nenhum problema. Mas quando eu remover o ponto e vírgula
, receberei um erro. Então, quando eu coloco todos eles na linha diferente, então não terei nenhum problema também, modo que as instruções normalmente em JavaScript, as
separamos por linha. E seria sempre bom ter como o ponto e vírgula em nosso código, como eu disse, que esta afirmação terminou. Então, agora e se eu fizer isso? Então, vou ter uma nova linha aqui e depois salvar meu código e atualizar. Veremos que o código ainda está funcionando. Isso ocorre porque também isso significa que também a nova linha não significa que é o fim da instrução. É por isso que o JavaScript às vezes considera que esta é uma instrução ou um bloco. Então é por isso que eu disse que é sempre bom usar o ponto e vírgula para terminar a declaração. E podemos ter o código mais legível quando vamos construir vários blocos de código, saberemos qual é o significado disso. Às vezes, teremos muitos operadores dentro de alguma função. A propósito, chamo isso de função. Portanto, essa função terá vários parâmetros. Este é um parâmetro a propósito. Então, dessa forma, vou ter vários parâmetros e
quero colocar esses parâmetros em várias linhas. Isto é o que veremos no futuro quando fizermos algum progresso no curso. Mas, por enquanto, vamos entender isso assim. cada comentário, vou colocá-lo em uma nova linha. Então, dessa forma, terei uma nova linha para cada comentário. Não importa como o ponto e vírgula tem espaços vazios entre o comando e o ponto e vírgula em si. Além disso, não importa quantas linhas existem entre os comentários. Além disso, não há nenhuma maneira ou Não há problema quantas guias ou espaços você tem uma iteração ou você moveu o texto ou a instrução para longe da instrução anterior. Tudo isso ainda funcionará desde que não estejamos cometendo erros de sintaxe. Existem algumas ferramentas que estão fazendo a formatação do JavaScript para mim. Por exemplo, se eu tiver vários espaços aqui, quando eu salvar o arquivo e ele removerá esses espaços e também removerá essas guias com base nas necessidades ou na sintaxe do JavaScript. Veremos isso na próxima palestra.
8. Adicione extensões para acelerar a produtividade de programação: Como eu disse, instalamos o Visual Studio Code porque somos capazes de instalar algumas extensões ou plugins que melhoram nossa produtividade. Para instalar extensões com o código do Visual Studio, você só precisa clicar neste ícone aqui. Então, quando você estiver conectado à Internet, você receberá uma lista de extensões sugeridas. Portanto, as extensões que precisamos para o nosso curso são nosso R2. Então, o primeiro é chamado de mais bonito. Então esta placa aqui vai formatar para nós o código com base em alguma configuração que estamos fazendo. Então, se você se lembrar, eu disse que se eu coloquei aqui vários ponto-e-vírgula e eu mult várias abas, ele formatará o código quando eu pressionar Salvar, e então ele o tornará mais bonito e mais alinhado com base na sintaxe JavaScript. Então, para isso, vamos instalar isso mais bonito. Então, esse mais bonito, é chamado de código mais bonito para a matéria. E então você clica em Instalar
e, em seguida, isso será instalado em sua máquina. Há algumas instruções indo com mais bonitas. Então, para isso, também precisamos fazer todas essas configurações para tornar nosso código formatado da maneira correta. Então, vamos fechar esta janela e voltar ao nosso arquivo. Como você vê ano, fizemos algumas alterações e preciso que elas sejam formatadas com base no plugin mais bonito. Então, quando vamos aqui para a lista de arquivos que está próxima, tudo fechou a extensão. Vou formatar este documento. Existem várias maneiras de formatar esse documento que é o formato em Salvar, como por exemplo, quando pressiono no menu deles, verei aqui na lista de arquivos que tenho Salvar como ou quando salvo um arquivo em geral, então o terei formatado como quando pressiono Control S. Também há formato manual, como quando você não precisa salvar ou formatar em Salvar, então você precisa configurá-lo no Visual Studio Code, como mostrarei mais tarde. Então, antes de tudo, se você quiser formatar este documento, você precisa pressionar o controle shift e ser como da impressão. Então, dessa forma, você receberá esta janela de comando. Essa janela de comando tem vários comandos que você pode executar. Um deles é Format document. Quando você não o encontrar, basta digitá-lo e você encontrará o documento de formato. Quando você pressiona neste documento
Formatar, ele lhe dará a capacidade de formatar esse documento usando a extensão padrão. A extensão que instalamos é mais bonita. Então, mais bonito vai formatar para mim este documento com base no que configuramos em nosso código do Visual Studio. Então, quando clico em Formatar documento, como você vê, ele é formatado com base na sintaxe JavaScript. Além disso, isso é a capacidade de formatar em Salvar. Então, quando você pressiona control S, como quando você salva o arquivo, ele será formatado automaticamente usando o mais bonito. Se você não conseguir fazer uma formatação no Control S ou salvar, basta ir para, vá para as Configurações. E, em seguida, nas configurações aqui, você precisa selecionar ou procurar algo chamado formato em Salvar. Portanto, você precisa ter certeza de que essa caixa de seleção está ativada. Caso contrário, seu arquivo não será formatado quando você salvá-lo. Então, para isso, instalamos o grittier e também estamos ativando o salvamento ou o formato em Salvar o comando ou o comando de configuração no código do Visual Studio. Então, dessa forma, poderei formatar automaticamente meu arquivo quando chegar o código. E também como alguma bagunça no imposto científico, como não erros, é diferente. Então, quando você tem massa na sintaxe, mas não tiver nenhum erro no JavaScript, então não há problema, ele será formatado. Mas quando você tiver um erro ou se, por exemplo, eu não vou vangloriar este. Então, quando eu tiver aqui um formato, então um erro de formato, então eu vou salvar. E, como você vê, ele é salvo, mas ainda tem erro e o arquivo não está formatado. Então, para isso, quando você quiser a formatação frita do código, você deve ter toda a sintaxe e não há erros no seu código. Então, por enquanto, esta é a única extensão que precisamos para nossa codificação nos próximos níveis. Então, depois disso, vamos passar para um fluxo de programação e veremos como podemos detectar erros no JavaScript e vemos quais são os erros que temos que ler. Qual é o erro para analisá-lo ou Google, ou encontrar uma solução para o erro.
9. Detectando erros: Existem duas maneiras de capturar o erro de sintaxe em JavaScript. Erro de sintaxe, quero dizer, quando cometo um erro, como quando há algum erro em uma função, ou se eu estiver perdendo alguns colchetes, ou se eu estiver perdendo alguns pontos. Como veremos mais tarde. Isso é chamado de erro de sintaxe. E o erro de sintaxe pode ser mostrado no código do Visual Studio diretamente ou no console do Chrome DevTools. Então, vamos cometer um erro,
por exemplo, removendo um desses parênteses. Então, vou remover este. Ok, recebi um erro que é ativo e fornecido pelo VS Code e está dizendo que um parêntese é esperado. Então isso significa que ele esperava que alguns como outro, o fechamento deste fosse fechado aqui antes do ponto e vírgula. Portanto, isso está ativo, por exemplo, codificação
ao vivo, mas alguns erros não podem ser detectados. Então, como podemos detectá-los, por exemplo, vou cometer um erro aqui. Então eu digo o ponto L do console em vez de log. Como você vê esse código do Visual Studio, eles não reclamaram totalmente. Mas onde eu posso ver o erro, quando você executar o aplicativo novamente ou a página da Web, novamente, você verá que você tem o erro no console. Então, quando eu manipular a página, verei que o ponto L do console não é uma função. Isso significa que o ponto L do console ou L não é um comando, não é ,
uma instrução, não é uma função que pode ser chamada onde porque não existe em JavaScript. Então, dessa forma, quando eu coloco de volta e
atualizo, o erro desaparece. Vamos ver mais detalhes. Então, quando eu coloco o erro de volta e atualizo, veremos que o console L não está definido nele, não uma função. E isso mostra onde está exatamente esse erro. Então, está na linha três do meu código. Então aqui eu tenho uma linha três e ela está aqui. Então, quando você quiser ver mais detalhes, você pode clicar nele. E ele mostrará no DevTools exatamente o mesmo código que está escrito aqui no arquivo, e também o erro em si. Então o erro está mostrando que aqui está erro,
erro que o ponto do console L. Ele
existe em JavaScript? É por isso que estou detectando esse erro. Como iniciantes, somos suficientes em conhecer a maneira de detectar esses erros. Veremos no futuro, como erro de tempo de execução ou erros de compilação, que estão chegando em níveis mais avançados. Por enquanto, detectamos erros de JavaScript dessa forma, no console ou no Visual Studio Code.
10. Sensibilidade do caso: Ok, porque estávamos falando de erros em JavaScript, vamos também ter outro tipo de erro. Separei uma palestra para que isso fosse mais focado. Portanto, a maioria dos desenvolvedores, eles têm erros ou erros de digitação quando estão digitando um código definido ou predefinido pelo JavaScript. Por exemplo, esse console já está definido. Algumas pessoas gostam de diferenciar maiúsculas de minúsculas, estão tentando fazer, por exemplo, este, como o SI Console está em letra maiúscula. Então, quando você salva esse arquivo, é claro VS
Code, eles não reclamaram e você executa esse código ou atualiza a página, você receberá um erro. Esse erro diz que o Console não está definido,
portanto, há uma distinção entre maiúsculas e minúsculas Portanto, o console com letra maiúscula não existe em JavaScript. Ela existe apenas como uma pequena letra. A mesma coisa aqui. Se eu disser log ou fazer login em letras maiúsculas e salvar, verei que o logotipo não é uma função, ele não existe. Dessa forma,
sabemos que o JavaScript é uma linguagem sensível a maiúsculas e minúsculas Então, quando você define uma função ou você tem uma função de alguma forma específica? Você não pode mudar nele. Você tem que seguir exatamente os mesmos comentários em que sou imposto, como letra maiúscula ou minúsculas do arquivo, para poder executar seu projeto ou executar sua página da Web com base no comentário Javascript.
11. Código de comentário e notas: Na programação em geral, é sempre mostrar aos outros desenvolvedores, meu código, como ele se parece, então eu preciso explicá-lo para eles. Há também uma maneira de explicar algumas funções em seu código ou algumas linhas de código para as outras colocando comentários. Por exemplo, vamos ter alguns logs de console aqui com instruções diferentes. Então direi aqui que, por exemplo, definirei o log, o login, como aqui o login ou o usuário logado com sucesso. Então, e aqui direi login, o erro de login. Portanto, o usuário não conseguiu ter um erro de login. E aqui registre o erro de registro. Então, nesse caso, direi que, por exemplo, estou assumindo que estou fazendo essas funções reais. Mas agora somos suficientes com o registro do console. Então agora eu quero mostrar aos outros desenvolvedores que isso está registrando o bloqueio, o bloqueio. Isso é fazer login no erro. Isso está registrando o erro de registro. Então, como posso explicar em algum lugar do código que isso é explicação dos meus próximos comentários ou próxima declaração. É por isso que criamos os comentários. Os comentários no código são a parte do código que não é executável, como quando você a sintaxe do programa ou aquela que a sequência do programa vai, então ele vai para esses comentários, mas para seus comentários, não o comentários estão vazios para isso. Portanto, o compilador não lê nenhum comentário, não reclama dos erros no comentário ou tudo. Então, dessa forma, você pode definir um comentário de alguma forma por barra. Então eu tenho um comentário aqui e direi:
Ei, aqui está o log, o login. Além disso, eu digo aqui, aqui, por exemplo, o olhar com erro. Então, também posso copiar colar o comentário. E também digo aqui o ano, o erro de registro. Então, nesse caso, teremos esses comentários para os desenvolvedores para que eles saibam o que uma próxima linha está fazendo. Então estou explicando aos outros desenvolvedores, explicando para minha equipe. Então, quando você atualizar, você não verá ou não verá todos esses comentários porque eles não são executados? Então, por exemplo, se eu for aqui e colocar barra de barra, então isso ficou verde. Não consigo vê-lo no console então,
porque JavaScript, vamos considerá-lo como um comentário e ele não o lerá como um comentário. Então, quando salvarmos e
vamos novamente, veremos que o primeiro a console log foi executado, mas o terceiro, não, porque não é executado, porque é um comentário. Essa também é outra maneira de comentar várias linhas de código. Então você pode colocar aqui barra e depois asterisco. E então você verá esse buraco chamado GOT verde ou não executável. Mas quando você quiser fechar esse comentário em alguma linha, então você tem que colocar novamente o asterisco e depois cortar. Portanto, o resto do código que está acontecendo atrás não está recebendo nenhum comentário, e então ele pode ser executável como um JavaScript normal. Assim, desta forma, você pode se livrar de toda essa barra, barra de barra funciona apenas para uma linha, mas não funciona para várias linhas. Para fazer comentários de várias linhas, você tem que colocar asterisco de barra e, em seguida, você pode fechá-lo novamente. Então, dessa forma, você define vários comentários de linha ou comentários de uma linha em seu código.
12. Entendendo as variáveis var: Na maioria das vezes, um aplicativo JavaScript precisa trabalhar com informações. Aqui estão dois exemplos. Uma loja online, as informações podem incluir mercadorias que estão sendo vendidas e um carrinho de compras ou um aplicativo de bate-papo. As informações podem incluir usuários, mensagens e muito mais. Então, em outras palavras, variáveis são usadas para armazenar as informações, para armazenar as informações do usuário que estão indo
no fluxo do aplicativo de JavaScript ou do próprio script. Então deixe-me dar um exemplo. Como você vê aqui nesta imagem, vemos que a variável, podemos considerá-la como uma caixa. E essa caixa tem um nome e esse nome, por exemplo, uma mensagem. E dentro desta caixa podemos colocar um valor como, por exemplo, olá. E também depois disso, você pode alterar esse valor com base em suas necessidades. Por exemplo, para esta mensagem, você pode fazer o que quiser. Você pode trazer tudo. Você pode fazer alguns cálculos com ele ou adicioná-lo a alguma comparação. Ou você pode, por exemplo, apresentar na página HTML. Em vez disso, usando esse valor Olá, posso usar o nome da caixa onde posso desejar, por exemplo, quero usá-lo em alguma função ou em algum objeto. Agora, como podemos traduzir essa imagem para um código. Então, irei para o nosso arquivo JavaScript. Vou definir uma variável chamada mensagem e o valor dela será olá. Então, como podemos fazer isso? Primeiro, você pode usar a ala ou a palavra-chave no clipe Java, que é chamado de lead. Então, com o LED, você pode definir uma variável. Portanto, o nome da caixa é mensagem. Então você pode dizer aqui que definimos o nome da caixa. E com igual valor semelhante ou com o teclado, você pode atribuir um valor a essa caixa. Então, quando eu quero atribuir um valor que agora é uma string, podemos dizer que precisamos ter uma cotação dupla ou uma única cotação. Então, normalmente em JavaScript avançado, ou em JavaScript moderno, usamos apenas aspas simples para definir as cadeias de caracteres. Então vou dizer aqui, olá. Então, dessa forma, exatamente como implementamos na imagem, temos uma caixa chamada mensagem e dentro dela uma string Olá. Normalmente, eles definem variáveis de maneira diferente. Então eles podem dizer deixar mensagem. E depois eles dizem que a mensagem é igual a Olá, como você vê aqui. Então, dessa forma, também
posso usar essa variável de mensagem de maneiras diferentes. Então eu posso ver sua mensagem Olá, mensagem Olá, tanto quanto eu quiser. Então, agora eu quero usar essa variável,
então, como posso usá-la. Portanto, usando essa variável, por exemplo, podemos usá-la no log do console. Portanto, não posso dizer log de pontos do console. Em vez de adicionar a string, podemos adicionar a variável em si. Então vou dizer aqui, mensagem de registro do console. Então, depois disso, colocamos ponto e vírgula para cada extremidade de bicicleta da linha. E economizamos. Vamos atualizar nossa página. E veremos que chegamos aqui, olá, e vem com o índice j é 15. Então, temos aqui na linha 15, a mensagem ou a caixa que coloquei nela no console. Então, se eu fizer isso, como se eu definir a variável depois, como a atribuição da string, receberei um erro porque aqui a mensagem ainda não está definida. O JavaScript está indo de cima para baixo. Quando ele vai de cima para baixo, verá como se houvesse uma mensagem aqui, mas estou atribuindo um valor. Mas o que é mensagem é algo desconhecido. Então, primeiro, ele procurará por mensagem de lead. Então, quando salvarmos e tentarmos novamente, receberei um erro como não consigo acessar a mensagem antes da inicialização. Portanto, temos que inicializar a mensagem primeiro. E então receberei o valor atribuído a um valor à mensagem ou à caixa deles. E então eu posso fazer o que quiser com essa caixa ou com esse valioso.
13. Alterando valor variável: Também podemos alterar o valor da variável, como o valor da caixa. Então, como você vê nesta foto, posso jogar essa string hello como um valor da caixa e colocar outro valor que é o mundo. Assim, dessa forma, olá, iremos para o lixo e Ward virá novamente para aquela caixa e ela será armazenada lá. Então, como podemos implementar isso simplesmente, podemos atribuir com igual, novamente outra string. Então vou dizer aqui, como mensagem,
e então, em vez de colocar como olá, vou colocar o mundo. Então, dessa forma, a mensagem, obteremos esse valor no final. Então, vamos tentar salvar e atualizar. E veremos que imprimimos o mundo. Onde está olá? Olá foi para a lixeira depois de atribuir a palavra de string à mensagem. Assim, dessa forma, o log do console verá o último valor atribuído à variável de mensagem. E y, porque o fluxo de JavaScript está indo de cima para baixo. Portanto, o último valor atribuído à caixa ou à variável de mensagem é world. É por isso que o console de log do console ou registrou a string mundial no console.
14. Constante: Há outro tipo de armazenamento de dados ou caixas em JavaScript que é chamado de constantes. As constantes são diferentes das variáveis que você não pode alterar os valores delas após a primeira inicialização. Então, dessa forma, não
posso dizer olá primeiro e depois faço o mundo. Isso me dará um erro. Então, se dissermos que, em vez disso, podemos dizer contras para definir uma constante, então a mensagem tomará esse valor e você não poderá novamente, atribuir o mundo a ele, teremos um erro. Vamos tentar isso agora. Como você vê aqui, primeiro, faltamos a declaração anexada do inicializador. Então, dessa forma, não
podemos fazer isso dessa maneira. Portanto, não podemos dizer a mensagem causada e seguir outra linha para atribuir o valor. Temos que fazer isso diretamente. Então vou aqui e direi mensagem const,
constante, mensagem é chamada de olá. Então, podemos colocar aqui como uma corda olá. E então veremos se receberíamos um erro aqui. Então, vamos salvar isso. Mais uma vez. Como você vê, obtivemos atribuição para uma variável constante. Este é o erro Tipo I, então você não pode fazer isso. Portanto, não posso atribuir, novamente à caixa de mensagem um valor que seja mundial, não
posso alterar esse valor como tínhamos na variável ou quando encontramos uma caixa com lead. Então, quando comentamos aqui ou quando o removemos. Então, vamos fazer um comentário. Então eu comentei, então esse código não será executado. E salve, atualize novamente. E veremos que recebemos o Hello sem nenhum erro. Portanto, a diferença entre lead e constante ou variável e variável variável, você pode atribuir qualquer valor e o valor mais recente dele será capaz, ou você poderá trabalhar com ele. Mas com uma constante, você pode inicializar um valor apenas uma vez, mas não pode alterá-lo durante o fluxo do JavaScript.
15. Como nomear variáveis e Constantes: Então, e quanto a nomear as variáveis aqui, usamos uma palavra que é chamada mensagem. Portanto, há duas limitações em nomes de variáveis em JavaScript. Primeiro, o nome deve conter apenas letras ou dígitos ou símbolos como dólar e sublinhado. Então isso é dólar e isso é sublinhado. Então, dessa forma, temos que definir a variável com essa ou apenas essas limitações. E a segunda regra de que a primeira letra ou primeiro condutor da variável não deve ser um dígito. Portanto, não deve ser um número, porque senão você receberá uma recompensa como essa. Portanto, essas são as regras de nomear variáveis e constantes em JavaScript. Então posso dizer aqui, por exemplo, caixa de
mensagem, essa é uma variável, ou você pode defini-la dessa maneira. Caixa de dólar de mensagem. Você tem uma liberdade totalmente. Se você estiver seguindo as regras, também, você pode usar números aqui ou no meio. Você pode usar números. Portanto, não há nenhum problema usando números no meio ou no final da variável. Mas e quanto à convenção de nomenclatura? Convenção de nomenclatura normalmente se você se lembra, falamos sobre camelcase e mantemos o olhar e também o caso Pascal. Portanto, essa convenção de nomenclatura comum em JavaScript é CamelCase. Então vou dizer aqui em vez de caixa de mensagem, não usarei, como podemos dizer aqui, o sublinhado, que é chamado de caso Snake. Vou dizer caixa de mensagem assim. Portanto, o CamelCase, primeira letra, pequena e primeira letra ou a segunda palavra é maiúscula. E, claro, quero mencionar que é sensível a maiúsculas e minúsculas. Então, caixa de mensagem como essa é diferente da Caixa de Mensagem, que é assim. Então você não pode dizer que esses são os mesmos porque
há maiúsculas de minúsculas aqui e as letras são totalmente diferentes. Portanto, essas variáveis são essas duas constantes são diferentes. Além disso, existem algumas palavras que são reservadas por JavaScript, então você não pode usar nada disso, todas essas palavras reservadas. Por exemplo, um do Conselho de Reserva, como veremos mais adiante, é chamado de retorno. Portanto, você não pode usar essa palavra como variável. Além disso, você não pode usar vidro ou não pode usar tão bem como veremos mais tarde, porque é uma palavra reservada. Então, veremos muitas palavras que são reservadas em JavaScript, que você não pode usar como nomeação das variáveis. Então, por enquanto, este é o camelcase e podemos definir as variáveis com algumas regras como nenhum número no início, e também apenas pontuação e cifrão podem ser usados.
16. Tipos de dados: Um valor de variável em JavaScript está sempre fora do centro e digite. Por exemplo, podemos dizer que essa é uma string porque estamos definindo-a como uma string. Ou pode ser um número como um exemplo, tenho dois aqui, 43. Então, dessa forma, essa constante terá um tipo como número. Existem oito tipos de dados básicos diferentes em JavaScript. Vamos cobrir todos eles em geral neste curso, mas vamos nos concentrar em seções adicionais sobre números, por
exemplo, e sobre strings e os principais tipos importantes. Por exemplo, temos números. Você pode definir um número dessa maneira ou você pode ter um número flutuante. Então, todos eles são definidos como números. Falaremos sobre números mais detalhadamente. Além disso, temos uma cadeia de caracteres, como você vê aqui, definimos uma string também. Temos booleanos, booleanos que podem ser falsos ou verdadeiros. Então, dessa forma, definimos a variável com essas duas palavras-chave, falsas ou verdadeiras. Assim, dessa forma, essa constante ou uma variável terá um tipo chamado booleano também. Existe o tipo indefinido e também o tipo nulo. Falaremos tudo sobre eles nas próximas seções com mais detalhes. Então aqui posso dizer que tenho o número da caixa de mensagem. Ou podemos dizer como número const. Podemos definir um número constante. E podemos ter um booleano const. Podemos dizer booleano assim. E podemos ter um const tão bem quanto uma corda. Então aqui podemos ter const string e eu preciso consertar isso para ser por caixa de camelo. Então, podemos ter aqui, como se o tivéssemos como uma corda. Não podemos ter os três tipos aqui. Então, vamos registrar todos eles no console. Vou consolar registrar o número, consolar o log do booleano e também consolar o log, a string. Assim, podemos ter aqui o log do console e removemos isso, colocamos console ou const string. Então, vamos atualizar a página. Como você vê, a string está sempre em DevTools como um branco, mas o número tem essa cor violeta. Assim, você pode distinguir entre o número dessa maneira ou se for uma string. Então aqui estou definindo o número como string, não
é um número. Então, se você atualizar, você o verá como um branco, então é uma string. Então, dessa forma, você precisa distinguir. Portanto, este não é um número, é uma string porque temos essas citações. Mas desta forma é um número. Além disso, existem erros de digitação são chamados de objetos. Falaremos mais sobre eles em detalhes e veremos todas as operações sobre eles. Mas, por enquanto, para não torná-lo mais complicado, somos suficientes com esses três tipos, número, booleano e string.
17. Integers e números flutuantes: No JavaScript moderno, existem dois tipos de números, números
regulares e números grandes. Os números regulares são os números que já conhecemos. E também há os grandes números, ou podemos chamá-los de grandes números inteiros. Esses grandes números inteiros com o R vêm com muitos zeros. Então, por exemplo, terei aqui que posso saber que, por exemplo, tenho 1 bilhão e depois 1 bilhão virá com 900. Isso estará implementando um grande número inteiro
até agora que você também pode usar um grande número inteiro em JavaScript. E também números inteiros normais como os quais são menores que, podemos dizer 1 bilhão. Eles são sempre inteiros normais ou regulares. Mas imagine se você quiser escrever, por exemplo, um bilhão. Um bilhão vem com quantos zeros? Com nove zeros. Então eu vou ter aqui 123123123. Desta forma, não entenderei quantos zeros ou meus olhos não vão pegar quantos zeros tenho aqui. Então, uma maneira de definir um grande número é duas, separe-as com sublinhado. Dessa forma, ele será mantido como um número, mas eles são mais fáceis de ler. Tantos membros, se você ver sublinhado no número, isso significa
que não é uma string, mas realmente permanece como um número. E é um número grande ou pode ser um número regular também. Então, vamos tentar este exemplo e atualizar nossa página. E veremos que o console registra esse número e o sublinhado removido. Então, temos o 1 bilhão normalmente. Portanto, o manuseio dessa variável em JavaScript será tomado como um número normal, mesmo que tínhamos aqui sob pontuação. Mas, como desenvolvedor, é mais fácil ler esse número. Agora, há outra maneira de definir um número ou definir um número com vários zeros. Então, por exemplo, vou pegar essa constante e darei, por
exemplo, um nome diferente. Podemos chamá-lo também, bilhões. E esse bilhão, não será assim, mas podemos defini-lo de uma forma como uma. E você coloca E e este E define quantos zeros atrás ou depois daquele. Então eu terei aqui 1, e e depois 0 ou por exemplo, então será apenas um. E se eu quiser 1 bilhão, então vou colocar nove zeros. Então, dessa forma, se o console registrar esse número também, então vou colocar aqui causado, podemos consultar o número de
bilhões de baixo custo e também o número de contras não motores que tínhamos antes. Assim, podemos ver na saída um bilhão, um bilhão, e veremos isso como a saída no log do console. Então, quando eu
atualizo, como você vê, eu tinha aqui 1 bilhão também. Vamos colocar seis. Então, salvaremos e atualizaremos novamente. E veremos que são 1 milhão, como seis zeros. Você pode colocar aqui, como por exemplo, cinco e depois 56, significa
que eu terei 5 milhões. Então, dessa forma, posso definir um número. Você pode escrever o número normalmente sem qualquer separação, como sublinhado. Ou você pode escrever como com separação para ter uma leitura mais amigável. E também você pode escrevê-lo de uma maneira curta, como temos aqui com o E. Então, também, se colocarmos o exemplo aqui, 5.7 ou 5.56 zeros, o que acontecerá na sua opinião? Acho que serão, por exemplo, 5 milhões e 500000. Aqui eu coloquei 5.5 como um número flutuante, como normalmente você se lembra que definimos os números flutuantes como estão. Então você vê aqui como cinco pontos, como 555. Mas se você colocar, por exemplo aqui 5.6 e depois E, por exemplo, quero três zeros. Então terei 5.600 porque os três zeros, ou pode dizer como este é 5,6 multiplicado por 100. Então, dessa forma, não
posso dizer que isso é igual a multiplicado por 100 mil. Esse operador é multiplicado. Veremos isso mais tarde. Então, agora, se eu salvar, faça de novo, obterei o mesmo resultado. Então, dessa forma, podemos definir os números em JavaScript. Há uma maneira oposta que eu tenho que colocar, por exemplo, como menos aqui. Então, se colocarmos aqui como algum menos após o E, então ele estará em menos. Vamos remover este cinco, 5.5 e terei cinco e menos 6. Então, quando atualizamos, vamos tentar isso. Veremos que entramos em coma ou no flutuador como sob o 0. Assim, dessa forma, você pode definir também melhor do que dizer que preciso de número 0,
000 , 000, 5, saiba que você pode dizer desta forma, cinco, e menos seis, e você obterá o mesmo resultado. É exatamente da mesma forma que você está dividindo por 100 em nosso exemplo ou em 1 milhão. Então, neste caso, eu divido 5 por 100000 e desta forma receberei 0,005. Então, é assim que estamos lidando com os números em JavaScript dessa maneira. Então você tem todas as formas, a forma opcional ou a opção de definir seus números como quiser. Você pode declará-los realmente como sem nenhuma separação. E também você pode declará-los assim. Os números flutuantes, como eu disse antes, podemos definir o número flutuante facilmente. Então podemos dizer aqui flutuando. Então, o número flutuante, você pode simplesmente definir um ponto zero 85. Ou mesmo se você tiver
tipo, como, por exemplo, 5.5, ok, eu preciso declará-lo, mas se você tiver 0,5, você não precisa colocar o 0. Portanto, basta tê-lo como 0 ou DOT 5, e não seria definido como 0,5. Mas quando salvo aqui um plugin mais bonito, sobre o
qual falei antes, ele está mudando para mim o formato
e está fazendo e dizendo que é melhor declará-lo assim. Claro, podemos alterar a configuração de mais bonita, mas não estamos nesse nível agora. Estamos apenas com o básico. Mais tarde, veremos como configurar nosso editor de maneira mais eficiente.
18. Operadores de números: Como uma calculadora, você também pode fazer algumas operações nos números. Portanto, existem operadores em JavaScript. Vamos voltar ao nosso código. Vamos organizá-lo um pouco. Então eu vou manter aqui esse número constante e também const número bilhão. Colocamos como o log do console após cada atribuição ou após cada variável. Então, dessa forma, seremos mais fáceis de mudar e ler esses valores juntos. Então, dessa forma, vou colocar também este aqui. Portanto, temos log de console para tudo. Então esse número flutuando, não precisamos dele. Portanto, temos variável e constante e estamos consolando o log. Então, agora vamos fazer alguns cálculos. Então, por exemplo, preciso ter edição. Então, dessa forma, posso definir uma variável. Posso dizer que, por exemplo, x será igual a cinco. E também podemos ter deixado y, será igual a sete. E também podemos, dessa forma, adicionar X a Y. Então, dessa forma, temos que dizer, vamos z igual a 5 mais 7. Ou dessa forma você pode dizer que na verdade x mais por quê? Então, dessa forma, ele será substituído por x, o valor cinco, e por y será substituído o sete. Então, depois disso, podemos registrar esse valor no console. Então podemos ter aqui deixar z, e este zed será registrado aqui, e será a adição entre x e y. Então, se salvarmos, chegamos aqui 12, o que é ótimo. Além disso, você pode ter como operar diretamente nos números. Então, não posso ter aqui cinco mais um. E então isso é tudo. Serão 13 porque aqui tenho seis e o chapéu sete. Então, como 67 é 13. O mesmo vale para multiplicar. Então eu vou ter aqui em vez de mais, posso ter aqui multiplicado, o que é tão estrito ou uma estrela. Então você tem uma estrela aqui, então é multiplicação. Então, quando eu atualizar, terei aqui 42 porque seis multiplicados por 7 é 42. Então, vamos remover este e tentar novamente. E teremos 35. Então sete multiplicam ou cinco multiplicados por sete, eu teria 35 do valor da variável z também. Existe a subtração,
portanto, subtrair x de y nos dará também os resultados. Então você só precisa colocar menos em vez de se multiplicar. Se você tentar isso e atualizar, você receberá menos dois porque cinco menos sete é menos dois. E, claro, se você colocar como aqui número maior, desculpe, podemos ir aqui novamente. Colocamos aqui 15 e depois atualizamos. Nós obteremos oito porque 16 menos 7 é 8 também. Você terá esse método de divisão. Então você também pode aqui em vez de menos, você pode ter uma divisão. Então, barra, significa dividir quando você tem que digitar ou dois números, então ele lhe dará a divisão entre esses dois números. Então Zed terá X dividido por Y. Então, dessa forma, eu obtenho esse resultado porque 15 dividiu um dois por sete. Esse também é o módulo. Então você pode ter aqui mod, então por cento ele lhe dá o resultado
ou, ou o retorno, essa divisão restante. Então, dessa forma, direi aqui, atualize e, em seguida, ok, 15 multiplicado ou Módulo 7, será como um. Então, dessa forma, é o resto da divisão. Ok, também há outra coisa que é chamada de incremento. Então eu posso aumentar x de alguma forma sem dizer como 15 mais um, há algum atalho. Isso ajuda você a fazer isso. Então vou dizer aqui, vamos registrar todos os números do console. Aqui tenho aqui o log do
console, o log do console também. Então aqui temos x e y e depois z. ok? Quando eu digo aqui x mais,
mais gosto do tempo e, em seguida, ponto e vírgula, então x será aumentado em 15, então aumentado em um. Então vou colocar aqui como quando eu salvá-lo novamente, ok, primeiro é 16, então o log do console x é 16 porque é adicionado aqui. Portanto, temos adição ou mais, mais. E também y é sete, permaneceu o mesmo. E zed é uma população modular, que é uma. Assim, dessa forma, você pode aumentar o X e o registro do console seguirá o último valor alterado nos ovos. Então, dessa forma, você poderá ver o resultado da última alteração dessa variável. Talvez agora eu possa explicar mais do que constante. Então, se eu disser não liderar, mas direi const. Então x é uma constante. Agora, se eu atualizar, recebo atribuição de erro a uma variável constante na linha 27. Então aqui é como se eu alterasse o valor de x. Então, o valor do x é realmente alterado. Então, dessa forma, não posso alterá-lo porque é constante. Então, dessa forma, sempre quando você usa esses operadores, você deve usar let. A mesma coisa vale para menos, menos. Então eu terei aqui menos menos, e então o número será diminuído em um. Então 15 menos, menos é 14. Então, dessa forma, temos como algum atalho para aumentar ou diminuir o número. Esse também é o poder. Você sabe, na matemática há algo chamado poder. Vamos definir uma variável, chamá-la de a. E isso a terá, por exemplo, duas e depois duas multiplicações duas vezes, e eu colocarei, por exemplo, três. Então, desta forma, estou dizendo que dois são o poder três. Então dois multiplicaram 2 a 3 vezes 2 multiplicados para fazer multiplicado para dois novamente. Então, vamos registrar um console, então devemos obter oito. Então, dessa forma, veremos que ele está agindo como um poder. Então, vamos salvar. Certo, temos aqui oito. Então é como eu disse, multiplique para mim para três vezes. Então, os primeiros dois
e segundos, e todos eles se multiplicaram três vezes. Então, temos aqui o mesmo resultado, que é oito. Então, quando você faz a multiplicação 2 vezes, ela é chamada como um poder. Então eu coloquei aqui como seis, e depois vou pegar 64. Então, dois se multiplicaram por si só, seis vezes.
19. Precedência do operador: Ok, agora tenho uma pergunta para você. Então, defini uma variável B dessa maneira. Então eu digo um mais a, 100 mais 50 multiplicado por três. Então, qual será o resultado? É resultado do exemplo acima, o mesmo que 150 multiplicado por três, ou 100 mais 150. Então é isso que estamos chamando de precedência do operador. Então, dessa forma, posso saber qual é o operador mais forte do que o outro. Então, vamos tentar isso e ver o resultado. Quando atualizamos. Eu tenho 250. Então, a mesma coisa de 150 mais 100. Então, dessa forma, saberei que a multiplicação é mais forte do que mais. A mesma coisa. A multiplicação ou divisão também é mais forte do que mais. Portanto, esta operação será feita primeiro
e, em seguida, será feita essa ou mais com o 100. Então, para mudar essa periodicidade ou essa força, aprendemos em matemática que podemos usar parênteses. Então, quando coloquei aqui um, escritórios de
patentes estão em torno desses operadores. Então eu tenho aqui agora, 100 mais 50 serão mais fortes que a multiplicação. Então, vamos tentar isso. Atualizar. Eu consegui 450, então 150 multiplicado por três. Então, dessa forma, mudo a periodicidade dos operadores. Então isso é chamado injera cortado ou em matemática, precedência.
20. Como verificar métodos de número: Quando você pega uma variável definida como um número e depois coloca ponto, então você terá alguns comentários sobre essa variável. Então, quando vou dizer aqui, por
exemplo, ponto b, então obterei como preenchimento automático do Visual Studio Code alguns métodos, este quadrado aqui ou este cubo mostra como um método. Portanto, existem vários métodos para os números, e também existem métodos para as strings e também para outros tipos, como veremos mais adiante. Mas enquanto estivermos na seção de números, vou falar sobre o método dos números agora. Então, antes de tudo, é fixado, fixo, está fazendo um arredondamento para o número. Então, quando eu tiver o número dois ou 0,9, então ele foi arredondado para cima e ele o fará como um. Então, vamos tentar isso. Então, vou definir uma variável. Então podemos dizer aqui, vamos, e podemos dar a ele um nome c. E este c terá como exemplo 0,9. Então, o que eu digo, outra variável deixa o ponto C fixo. Então, dessa forma, estou atribuindo ou dando um comando para a variável C a ser alterada. Mas a variável não será alterada. Mas o resultado disso será atribuído ao, assim como o C permanecerá como está. Não será alterado, mas corrigido. Ele tem um resultado. E esse resultado me dará uma corda. E essa string terá isso, o número que será um. Então, quando o console registrar esse D, irei aqui, farei um log console
e o registrarei aqui. Vou ter 0,9 arredondado para cima como uma corda. Como você vê aqui, a saída do método é string. Falaremos sobre mais pensamentos ou parâmetros com mais detalhes. Então, vamos ver isso em nossos olhos. Então, quando eu atualizo, cheguei aqui um na linha 42. Então este é um, e como você vê, não é violeta, é branco. Então isso significa que esta é uma corda como vimos antes. Então, para corrigir, arredondar o número e alterá-lo para a string de tipo. E como você vê aqui, D é uma string. Se eu colocar o mouse sobre essa variável, há outro método, vamos descobri-lo. Assim, podemos remover isso para fixo e tentamos outro. Chama-se dois exponenciais. Então, dessa forma, quando eu chamo esse método, você tem que colocar sempre esse parêntese. Então você tem que chamar esse método, como veremos mais tarde, estamos chamando esse comando na variável C. Então, quando eu salvar e ir novamente aqui, você verá que é antigo, 9 menos ou menos 1. Então é como multiplicado 9, multiplicado por 0,1. Desta forma, receberei 0,9. Falamos sobre isso anteriormente. Há, é claro, outros métodos que podemos vê-los descobri-los, como por exemplo, para pressionar esta sessão, falarei sobre isso mais tarde. E duas cordas também, vou falar sobre isso mais tarde. Mas, na verdade, está convertendo o número em uma string. Esta é a resposta mais simples sobre isso. Então, quando eu tiver aqui C ponto dois string, então D terá um valor de string de c. Então teremos aqui, C é, D é 0,9. Mas se eu consolar registrar o número C, então eu tenho aqui para ver, como você viu aqui, teremos 0,9 em violência porque é número e isso como D foi alterado para uma string e também é 0,9. Então, dessa forma, a saída desse método está mudando a variável que estamos chamando.
21. Correntes de análise em números ou oposição: Como eu disse antes, também
podemos analisar os números em strings como vemos aqui ou como fizemos aqui. Então C foi transferido para uma string e atribuído ao D valioso, e é impresso aqui como uma string. E se quisermos fazer o contrário? Então, quero alterar um número como uma string para um número. Então, de certa forma, como eu não posso dizer que este C é um número ou uma string, e eu quero vê-lo como um número. Para fazer isso, temos várias maneiras. Primeiro, a forma global. Então vou aqui e em vez de dizer semente para fazer string, quero ver D como um número. Então eu posso colocar aqui como número de letra maiúscula. É uma palavra-chave em JavaScript. E então abro parênteses. E então direi que o valor que eu quero mudar para um número. Então vou colocar aqui como a corda, coloquei aqui um ovo de Páscoa, como um número. Ou posso colocar a variável que quero converter porque o valor do mar contém o número de string 0.9, então eu posso usá-lo para esse método. Então eu posso dizer aqui número c. Então vamos salvar, e veremos que primeiro bloqueado é um número de string e o segundo é o número. Então, quando salvarmos, veremos que o primeiro é o número da string, que é c. E o segundo número é o, que tem uma cor violeta, que é o número. Então, dessa forma, defini ou converti essa variável de string para um número. Existem outras maneiras também de analisar para um número. Um deles, se você conhece esse tipo ou algo parecido, o valor de C, por exemplo, já. Então aqui é 0,9, então é um número flutuante. Então você não pode dizer aqui, em vez de um número semelhante, você pode ouvir dizer, analisar, flutuar. Então, dessa forma, estou analisando esse número ou alterando esse número usando uma string para um float. Então, dessa forma, obteremos o mesmo resultado e o que ele mudou também para número. Além disso, se eu souber que C é um número inteiro, como vou colocar aqui 10, então quando eu colocar, por exemplo, parse int, isso é inteiro, como analisar essa string para int, então eu vou obtê-la como um inteiro. Então, se eu tiver, por exemplo, 0, por exemplo sete, e estou usando parse int. Portanto, a saída da extremidade das barras será número, número inteiro. Não será como um número flutuante. É assim que a expectativa. Então, estou usando ou analisando string flutuante para inteiro. Então, vamos tentar isso. E veremos que recebi então 0,7. Este é o valor do mar como uma corda. E então eu tenho apenas 10 para o d. Então, dessa forma, é subtrair tudo isso. 0.7 é subtraído dessa string. E isso me deu que é antigo como um 10 só porque eu disse parte ou partes dele. Então, agora, se eu tiver isso como um parse int e eu quiser alterá-lo para analisar o flutuador dessa maneira. Então eu tenho aqui um número inteiro como uma string. Claro, eu quero convertê-lo como um flutuador, então eu obteria o número flutuante. Vamos atualizar isso. E você verá que o flutuador de análise manteve o mesmo. Então, quando você sempre tiver certeza sobre a variável, como se fosse flutuante ou número, então você pode usar o método adequado para isso. Caso contrário, você pode usar um número e ele ajudará você a evitar a análise flutuante e analisar uma string. Ok, agora vou fazer parse float para C, mas eu não vou aqui colocar um número, vou colocar outra coisa, como vamos colocar uma corda. Vou colocar, por exemplo, maçã. Certo? E dessa forma, quando eu imprimo isso, vamos ver qual é o resultado. Eu tenho alguma coisa, nenhuma. Então D obteve algum revendido de parse float como nan, não um número. Este 1, 2 falaremos na próxima palestra.
22. NaN não uma função Number: Então, vimos na palestra anterior como não conseguimos nenhum. Como se não fosse um número. É como um atalho para não um número. Então, desta forma, diz que D obteve algum valor na análise do valor. Claro, mesmo como quando você diz parse int, você obterá o mesmo valor. Não é nenhum. Então, o intestino é um valor chamado Nenhum. E esse não valor é definido em JavaScript. Então é assim. Então, é como uma palavra fixa que é, tem um número de tipo, mas não é um número. Está dizendo que, ok, essa variável não é um número. Tenha cuidado, não use isso. Então, dessa forma, saberei que D não é um número. Portanto, no futuro, quando você quiser saber se esse número ou essa variável tem um valor, NAN, como não um número ou não, então você pode verificá-lo. Você pode verificar essa variável para ver se ela é realmente numérica ou não. Porque às vezes, quando você tem milhares de linhas de código, é muito difícil rastrear esse número, especialmente se você estiver fazendo muita análise nessa variável. Também analisando de string para inteiro ou flutuar para um inteiro, etc. Então, às vezes você perde o controle sobre essa variável. Então, é melhor maneira de ver se essa variável tem um número ou é o número do tipo ou apenas uma string? Agora é um fim de semana fácil, veja como se pudéssemos ver que C é uma string, é
claro que não é um número. Mas é claro, como eu disse, quando você perde o controle sobre as variáveis, então você saberá como verificar se esse C é um número ou não. Então, dessa forma, você pode dizer que aqui não é nenhum. Portanto, nenhum é um método para verificar se este é um número ou não. Então, quando eu digo que não é nenhum para C, então ele vai verificar se c é um número ou não. Então D terá um dos dois valores, verdadeiro ou falso. Como quando não é um número, como uma string, então D terá um verdadeiro. Então, no nosso caso, quando eu registrar isso no console, terei um verdadeiro. Então, vamos tentar isso. Como você vê, temos aqui um verdadeiro porque é realmente ver que não é uma barra de aplicativos porque não está mexendo o número porque é a Apple. Mas quando coloco aqui 14, por exemplo, e então verifico se é número ou não, ou diz que não é um número. Então, dessa forma, ficarei falso porque c é um número como uma string, é claro. Portanto, aqui não há nenhuma verificação de uma string se é número ou não. Assim, você pode verificar por este comando, qualquer variável se for número ou não. Então, é exatamente da mesma forma que isso. Então, nenhum. Ou 414, como não é um número, então é falso porque é um número. Mas quando eu coloco, por exemplo, qualquer string e atualização, sim, verdadeiro? Não é um número. O intestino esse valor.
23. : Nesta seção, vamos falar sobre strings. Strings vimos esquisitamente que estamos
imprimindo uma string no log do console definindo-a entre a cotação, aspas
simples ou duplas. Mas agora vamos remover todo esse código para ter um início
mais limpo porque eu anexo esse código à seção anterior. Então, no final de cada seção, você verá o código que trabalhamos em toda a seção. Ok, agora vou excluir tudo. E para strings, existem, como dissemos, vários métodos para defini-lo ou definir uma string. Por exemplo, podemos dizer que let x estará em uma única cotação de duas. Podemos dizer que isso é uma string. Então, dessa forma, você pode definir uma string. Além disso, você pode definir uma string entre aspas duplas, como dissemos. Mas aqui mais bonito está mudando para cotação dupla. Porque quando economizamos por ano por tarifa, temos isso em cotação dupla. Claro, podemos alterar essas configurações. Tão mais bonito, vamos considerá-lo como uma cotação única para a string. Há também outra maneira de definir uma string, mas usando um método. Se você se lembrar, usamos antes do método numérico, esse método numérico me permite converter alguma string em um número ou qualquer outra coisa. Então agora podemos usar também alguma palavra com letra maiúscula que é chamada string. Então, dessa forma, você também pode definir uma string usando esse método. Então vou dizer aqui deixe-y, e então vou dizer que isso é ou fim de semana, digamos string. E então abrimos parênteses e temos que especificar um valor. E esse valor, é chamado como, por exemplo, a string em si que queremos definir. Então, na verdade, é exatamente da mesma forma. Mas aqui está mais construtivo. E chamamos isso de forma construtora. Mas, claro, a maneira moderna é sempre
usar o igual e diretamente você pode definir sua string. Mas aqui você pode dizer também, como esta é uma string construtiva. Então, podemos acrescentar isso. E então Y também terá esse valor como uma string. Portanto, podemos dizer log do console. Você pode colocar o registro de palavras e ele mostrará nos envios e você apenas pressiona Enter e ele adicionará para você toda a frase. O código do Visual Studio cuidará disso. Então, temos que colocar o console log x e o console log y. E então vamos imprimir esse valor. Então temos aqui, esta é uma string e esta é uma string construtiva. Então, todos eles da mesma forma, exatamente da mesma forma de definir uma string. Para mim, coloquei o caso dessa maneira, que está definindo uma string dentro de aspas, aspas
duplas ou em uma única citação.
24. Várias linhas em cadeias de caracteres de código usando pontas traseiras: No JavaScript moderno, também existe a possibilidade de usar os ticks traseiros. O que quero dizer, backticks é usado para ter várias linhas de agitação. Então, neste caso, se eu fizer isso, recebo um erro porque não posso ter várias linhas para essa string. Mas definitivamente há uma ótima maneira de fazer isso. Então eu posso trocar essas cotações com algo chamado de tick de volta, que é esse sinal. E também você pode fechá-lo da mesma maneira. Portanto, esta é uma string, também
será uma string, então ela será definida como strings. Então aqui temos uma string, mas quando você pressiona Enter, você não receberá nenhum erro. Porque isso está dizendo que você pode ter várias linhas string o quanto quiser. Então, como você vê aqui, eu tenho, esta é uma string e eu tenho várias linhas. Portanto, é sensível para isso. Ele não consegue ver todas essas linhas. E considera-se que tudo entre esses carrapatos será uma corda. Então, agora vamos atualizar. E veremos no log do console, é exatamente como o escrevemos no código deles. Então, para isso, é muito benéfico usar os
carrapatos traseiros e também usá-los para imprimir cordas mais longas. Especialmente se você tiver uma linha de código muito longa e não quiser colocá-los. Por exemplo, como uma longa linha como essa, ou por exemplo, se eu tiver uma linha longa, então eu vou assim, o que é ruim para mim. Então, dessa forma, você pode dividir suas strings em várias linhas e você pode tê-las no log do console assim. Portanto, aspas duplas na verdade não são sensíveis para várias linhas porque, caso contrário, você teria um erro no JavaScript. Mas backticks, é sensível ou aquilo. E tudo entre os backticks é uma string.
25. Notações de fuga de cadeias como escrever cotações em uma variável de corda: Ok, se você quiser dizer, por exemplo, eu quero ter uma cotação dupla dentro da string, como eu quero imprimir no log do console aspas duplas também. Porque se eu colocar aqui como tudo bem, como fim de semana, digamos, disse John. E então queremos colocar aspas duplas. Caso contrário, ele será fechado assim. Então isso está errado e está me dando erro porque a cotação dupla é um fechamento para essa cotação. Então você tem uma das duas opções. Pode ser, você pode colocar isso como uma única cotação e fechá-lo como uma única cotação, então a cotação dupla aqui será considerada como uma string. Então, dessa forma, você terá tudo isso como uma string e não receberá erro. Mas se você quiser manter a cotação dupla, você pode escapar dessa cotação dupla. Portanto, não será considerado como um fechamento para a predação disso. Então você só precisa colocar uma barra invertida. Portanto, com barra invertida, você não pode dizer que essa cotação ou aspas duplas não serão consideradas como uma cotação de fechamento. Então aqui também. Então, aquele que é, não tem uma barra invertida será considerado como uma cotação de fechamento disso. Então, vamos salvar isso e tentar novamente. Ok, então aqui vemos que mais bonito mudou para nós também. Então ele diz que é melhor fazer assim, melhor do que ter todas essas citações. Então, dessa forma, quando você quiser vê-lo em real, você pode desativar simplesmente o mais bonito. Então, estou aqui pedindo recarga. Então eu o desabilitei. Fui a extensões e desabilitei. Então agora, Ok, eu salvo, que nada está acontecendo não está mudando o formato. Agora. Nós salvamos, ok, temos as citações, mesmo elas são proteções de fuga. Então, dessa forma, você pode ter as letras de escape. Então, as letras que você precisa usar dentro de uma cadeia de caracteres, e elas são palavras-chave, por exemplo. Então, vamos habilitar mais bonito novamente. É isso. É muito simples habilitá-lo. Você vai para a extensão e você a instalou e basta clicar nele e desabilitar ou desinstalar, como você pode removê-lo Totalmente. Então, agora mais bonito sugeriu que essa é uma maneira melhor de definir citações dentro de citações. Então, temos isso assim. Isso é cordas douradas, notações de escape. Então eu tenho aqui escapando de notações. Uma das notações de fuga também, se você se lembra, eu lhe disse na palestra anterior que não podemos colocar várias linhas para cordas semelhantes com aspas. Você pode fazer isso também escapando da cotação. Então você pode dizer aqui em vez desta coluna, por exemplo, eu coloquei barra n. Então slash n me formatará essa string com uma nova linha. Vamos registrá-lo no console. E como você vê aqui, tenho John disse que isso é uma corda. Então, desta forma, aqui, n agiu como uma entrada, como uma nova linha. Então, quando você salva assim, então está tudo na mesma linha. Então, aqui como você coloca linhas em uma string normal sem usar backticks. Então, tudo isso é possível. Existem várias fugas, por exemplo, notações de
fuga, como eu disse, várias delas. Por exemplo, há aquele com uma guia. Então, quando você coloca slash t, então ele colocará isso denso como quatro espaços de como, como uma guia. Você não gosta, é como quando você pressiona tab aqui. Então, da mesma forma, exatamente. E também, há muitos funcionários, como espaço de ruptura ou, por exemplo, lead de forma. Há notação de fuga múltipla. Você pode pesquisar no Google e experimentar todos eles.
26. Inserir variáveis ou constantes em uma string: Então, digamos que temos uma variável chamada, podemos dizer antes de X podemos dar um nome como esse. A é como se pudéssemos dar um nome, por exemplo, mito. Então aqui temos uma string chamada Smith e também x. Então, dessa forma, quero dizer que John é um amigo do timo. Então, como eu posso colocar aqui como, oh garoto, nós temos aqui Smith. Mas como posso colocar a variável honestidade em vez de matemática. Então posso dizer aqui, John é amigo de um, como você vê, é considerado como uma corda. Então, quando eu imprimo, é um, então posso dizer que isso é valioso, não uma string. É muito simples. Há também operações em strings como como temos com o número. Há adição, como um plus. E com esse plus, você pode colocar uma variável depois dela. Então eu tenho aqui uma corda, arranca essa variável, então ela juntará essas duas cordas juntas. Então, quando digo aqui, diria que John é amigo do mito, mas aqui não há espaço. Então eu preciso colocar espaço após o desligamento, ou você pode adicionar outro anúncio mais. Você coloca duas citações ou duas aspas duplas e espaço nelas. Então, dessa forma, você terá, Joan é amiga de f miss. Então, dessa forma, você terá a possibilidade de se juntar. Podemos dizer que há cordas juntas. Há também outra ótima maneira que é moderna em JavaScript. E é realmente ótimo como um JavaScript moderno. E a maioria das pessoas prefere isso hoje em dia. Então, o que é isso? Então, se eu mudei esses dois backticks, eu mudo aqui para os backticks e, em seguida, não preciso colocar mais a. Eu posso usar esse formulário como dólar e depois colchetes curvos, algo assim. E aqui eu posso colocar a variável. Então, dentro desses suportes, terei valioso. Posso escrever código JavaScript. Então você pode colocar aqui o que quiser com este JavaScript porque você usou os backticks com esses cifrões e os colchetes curvos. Então, quando você salvar, vá aqui, novamente, você terá o mesmo resultado. Então, é exatamente da mesma forma. Então, quando você repetir várias
vezes, será da mesma maneira. Como você vê, pode colocá-lo também no início, em
qualquer lugar em uma string. Então, com isso, é muito bom combinar variáveis com bebidas ou combinar cadeias de caracteres JavaScript com código JavaScript. Então este é o fim desta palestra. Espero que você tenha gostado. Isso é muito moderno e muito bom de usar sempre dessa maneira para combinar cordas. É melhor não usar assim mais e depois um, não. Eu prefiro usar como o cifrão e colchetes curvos.
27. Como verificar métodos de string: Ok, nesta palestra vamos ver quais são os métodos das cordas. Se você se lembra, tivemos alguns comentários para o número, como alterá-lo para string ou alterar ou para alguma forma específica ou formato específico. E vamos ter agora o mesmo para as cordas. Então, exatamente como fizemos com um número, ouvimos um ponto e, em seguida, obtivemos todos os métodos que são possíveis para os números que podemos ter também aqui para as cordas, eu não iria com o mais fácil e, em seguida, passo a passo para o maior um ou dois, o mais pesado. Então, antes de tudo, podemos ter um log de console diretamente de um método de agitação dentro do log do console, como você não
precisa criar uma variável como posso dizer aqui. Deixe o comprimento, e então eu digo x comprimento de ponto, por exemplo. Então, dessa forma, vou imprimir comprimentos. Você pode usar os métodos diretamente no log do console. Então, a propósito, esse comprimento está me dando esse comprimento dessa corda. Então, quantas letras ou letras dentro dessas coisas? Então, vamos tentar imprimir isso. E veremos que ele tem 25 caracteres, incluindo os espaços. Então isso é para PX. Também existem outros métodos. Vamos ter um registro de console para eles, para cada um deles. Então, terei aqui x ponto. E podemos ter, por exemplo, char at. Então, podemos ter aqui char adicionar. E quando você abre parênteses e coloca um número, ele lhe daria essa letra naquele lugar desse número. Então, contaria a partir do 00123. Então, vamos colocar três, acho que conseguiríamos n. Então, quando eu colocar três aqui, dê-me o personagem char na terceira posição. Então, quando eu salvo, vá aqui, eu peguei n. Então, dessa forma, você pode obter um caractere específico de uma string. Vamos registrar outra coisa para que você possa também usar o método back ticks. Então você pode, ou você também pode usar uma combinação normal. Então eu posso dizer aqui aquele frasco às três. Então, por exemplo, e depois coloquei um plus. Então, na saída, será em três, será n. Então você pode colocar aqui também coluna, Claro, assim, ok, trabalho às três é n. Então podemos nomear nossos métodos, todos eles assim. Então, vamos copiar este e pegar outro método. Então eu posso dizer aqui também, x dot concat, x dois pontos concat, ele vai concat estimando como se fosse exatamente como fizemos com esse igual. Então, irei nessa corda com outra tensão. Por exemplo, podemos dizer aqui uma variável como esta, mito. Então eu concat x com a. Então podemos dizer aqui não adicionar Jar, mas dizemos CONCAT. Então, salvamos, atualizamos o concat. John é amigo do mito. Então, aqui tivemos as duas vezes porque já tínhamos um ano e também o concatenamos com outro a. Então também temos timo. Assim, podemos adicionar, também ouvir nossa própria corda. Então podemos ter aqui algo como fim, como Peter. Para que possamos salvar, vá aqui. Vamos dizer que junte-se é um amigo de Smith, entre em contato ou concat e Peter. Então você também pode colocar espaço aqui. Então x se combinou com um Peter. Então, é exatamente assim. Ok, vamos passar para outro método. Então, vamos copiar esse log do console novamente, outro método. Então você pode dizer aqui como índice de pontos x off. E você pode dar algum personagem. Então você pode dizer que eu quero índice de ou. Então, ele verá a primeira ocorrência de todos como aqui em John e retornará seu valor. Então podemos dizer aqui, indexar fora. E então dizemos Aqui tudo e salvamos o índice de todos. A primeira ocorrência de todos está na posição um. Então 0, 1. Então, temos aqui, John. Então, vamos ter aqui, por exemplo, f trike e ter aqui
F. F. Então a primeira ocorrência está na décima posição de f nesta variável X. Lembre-se, estou usando a variável X quando você deseja ver a ocorrência mais recente. Então, irei aqui para o log do console e vou adicionar o último índice. Então, último índice de F. Vamos ver. Então, aqui podemos substituí-lo também. E veremos que é 18 porque aqui eu tenho f e aqui eu tenho f. Então, dessa forma, eu cheguei no início, primeiro aconteceu ou primeira ocorrência, e a segunda ou mais recente ocorrência de f. Há também um ótimo método que é chamado de substituir. Então podemos dizer substituir,
substituir todos os F's por mim por x. Então você pode dizer aqui, substitua. Então, depois disso,
temos que colocar x ponto, substituir todos f por x. Então, em vez de, John é um amigo para ser extra e música como você vê aqui. Então Joan é x aluguel de Smith, e mudou apenas a primeira ocorrência também porque este f é inalterado. Há também outro método que é chamado para maiúsculas. Assim, você também pode usar ou alterar a frase para maiúsculas. Então vou dizer aqui apenas para maiúsculas e você não precisa passar nenhum valor para esse comentário. Assim, podemos ter aqui duas maiúsculas de x. Então, salvamos e atualizamos. E veremos duas maiúsculas. E como você vê aqui, chegou a maiúscula. Existem vários métodos de cadeias de caracteres. Você pode verificá-los. Eles são muito fáceis. Eu coloquei exatamente um exemplo. Eu o anexei. Esta palestra ou na próxima palestra com o código que escrevi aqui. Então você pode experimentá-los sozinho. A maioria deles, eles são fáceis, mas há alguns deles que vamos,
veremos mais tarde nas próximas palestras quando falamos sobre matrizes e objetos, vou anexar esta folha de truques para você para que você possa lê-la e experimentar coisas ao redor. A maioria deles é fácil e não se preocupe, totalmente.
28. Boolean: Eu mostrei a você antes rapidamente sobre booleanos. Além disso, podemos definir uma variável booleana. variável booleana pode ser verdadeira ou falsa. Então, desta forma, vou mostrar como você define esses booleanos. Normalmente booleanos, podemos nomeá-los de alguma forma como um nome começando com is. Por exemplo, é, por
exemplo, podemos dizer que é grande ou pequeno, é, dizemos que é minimizado ou é capital, ou assim. Assim, você pode definir sempre a variável booleana dessa maneira. Então, vamos definir uma variável que vou chamá-la como, por exemplo, está marcada. Portanto, essa variável terá sido verificada. Portanto, ele pode ter um verdadeiro como este ou pode ter também falso. Portanto, ele pode ter um dos dois valores. Então, dessa forma, definimos um booleano. Assim, o uso do booleano virá condicional, por
exemplo, colchetes ou em condicional. Podemos dizer escopo, como veremos mais tarde. Como quando dizemos como se essa variável tiver um verdadeiro, depois fazer outra coisa, fazer outra coisa. Então, veremos no futuro como vamos trabalhar com as declarações if. E saberemos mais sobre booleanos e seu uso. Por enquanto, booleano é um valor ou é uma variável que pode ter um dos dois valores, verdadeiro ou falso.
29. Como verificar o tipo de uma variável ou constante: Nesta palestra, podemos ver qual é o tipo de variável. Então, como podemos saber o tipo de constante ou uma variável. Por exemplo, como eu disse antes, teremos milhares de linhas de códigos. Então, vamos perder no caminho, o que é um tipo de variável porque, por exemplo, a variável é definida em outro lugar em algum arquivo conectado e não podemos detectá-la. E às vezes eu quero dizer como o exemplo, se o tipo dessa variável for um booleano, então faça algo assim. Ou se a variável tiver um tipo de string, faça algo também. Então, dessa forma, existe o operador chamado typeof. Então, vamos definir uma variável. Nós chamamos isso, digamos que vamos. E podemos dizer tipo de variável como essa variável I. E podemos dar um valor para essa variável como uma string ou vamos dar outro nome para honrar por ter confusão, direi meu nome. Então, meu nome vou dizer, por exemplo, gorduroso. Então, vou consolar registrar aqui a variável, então verei qual é o tipo dela. Então vou dizer aqui, usando a palavra-chave que é chamada tipo off como uma palavra e todas as suas letras pequenas. Em seguida, você coloca espaço
e, em seguida, coloca a variável que deseja saber o tipo. Então, depois disso, economizamos. E veremos no log do console depois de atualizarmos o tipo dessa variável. Então, vou atualizar e veremos que temos uma string. Portanto, todos os registros do console passaram. E também temos esse console logon na linha 26, que está dizendo que o tipo dessa variável é string. Então, vamos dar, por exemplo, um número para que possamos alterá-lo para um número, atualizar, ok, Como você vê, é um número que lhe dá, por
exemplo, um valor falso, como se fosse booleano. Então, como você vê aqui, temos um booleano. Então, vamos dar nada. Então podemos dizer apenas deixe meu nome sem atribuir nenhum valor. Então, vamos ver o que acontecerá quando atualizarmos. Quando atualizamos, recebemos algo chamado indefinido. Então, indefinido também é o tipo de variáveis que vamos falar
na próxima palestra ou nas próximas palestras sobre porque indefinido é algo não inicializado. Portanto, essa variável não inicializada com nenhum valor, como não tem string, ela não tem número e não tem booleano. Então, dessa forma, essa variável é indefinida. Então, em geral, quando você quiser verificar um tipo de variável, você só precisa dizer o tipo do meu nome. Então, dessa forma, você poderá obter ou recuperar o tipo de qualquer variável. Além disso, você pode recuperar o tipo de diretamente algum valor como eu direi aqui, meu nome como este. E quando eu atualizar, vou obtê-lo como uma string. Então, você passa uma variável ou pode passar diretamente o valor.
30. Null e Undefined: Então, como vimos antes, como quando não atribuímos nenhum valor a essa variável, vimos que ela está indefinida. O tipo indefinido vem quando você não atribui ou quando a variável não tem nenhuma inicialização. E também é um tipo como um número de string e também booleano. Então podemos dizer que posso definir essa variável como indefinida como um tipo dela. Certo? O outro assunto ou o outro valor que você pode dar, ou o tipo que você pode dar a uma variável é nulo. Null também é como nada, como não é, não tem nenhum valor, não tem nenhum tipo. Então, null está nos dando a sensação de que essa variável não tem nenhum valor. E também, como não podemos dizer tipo de olho, eu não espero dele, como se eu receba uma string ou obterei um número. Portanto, o valor null é usado normalmente quando você deseja atribuir uma variável para nada. Por exemplo, essa variável posso dizer que está marcada, tem um valor antes e quero inicializá-la sem nada. Então você tem duas maneiras. Como um deles é que você pode dizer que isso é indefinido, como isso não é inicializado ou não inicializado. Ou você pode dizer que isso é nulo, como ambos estão bem, mas a maioria dos EUA e eu aconselhamos que você use não é valor. valor nulo não é igual a indefinido. Tenha cuidado, como se você disser que, se isso for igual a este ou esse indefinido igual a nulo, você não conseguirá passar. Então, eles são totalmente diferentes. Então, nenhum é tudo. Qual é o nosso tipo de tudo que não foi mencionado antes? E sempre se refira a nada ou vazio ou o valor é desconhecido. Então, normalmente, esse indefinido é reservado como um valor de inicialização padrão para coisas não atribuídas ou variáveis não atribuídas. Então, quando você define uma variável, você ficará indefinido. É melhor não atribuir indefinido por você mesmo. Além disso, quando você deseja atribuir um valor que é como se não tivesse nenhum valor. Como podemos dizer uma variável, ela não tem nenhum valor. É melhor dar um nulo, não indefinido.
31. Operador de coalescing Nullish: Em JavaScript, há uma maneira como você pode dar um valor de soma variável de outro valor como vimos antes. Mas quando isso, outra variável não tem nenhum valor, podemos dar a ela um valor padrão. Então, vamos explicar isso. Então, antes de tudo, posso definir uma constante e chamo de meu, por exemplo, nome dois ou segundo nome. Então, direi que essa variável é igual ao meu nome. Mas em um caso, meu nome tem um valor nulo. Posso dizer que meu nome para obter um valor padrão. Então, como posso fazer isso por enquanto, ok, podemos salvar, também
podemos fazer um log de console para essa variável que defini, que é chamada Meu Nome dois. E então obteremos, assim
como essa variável. Então, entraremos no console nulo. Então, temos aqui nulo. Então agora vou mostrar que, por exemplo,
isso tem um valor, direi que, por exemplo, é gorduroso, novamente, como meu nome. Então eu chego aqui como se o tipo fosse string e meu nome
é exatamente o log do console por causa da atribuição dessa variável, meu nome ao meu nome também. Ok, então dessa forma, quando eu disser Ok, meu nome, ok, teremos o mesmo valor disso, meu nome. Mas eu quero dizer que se este, meu nome está indefinido ou ainda não inicializado, então eu posso dar meu nome para algum valor padrão. Então vou dizer aqui para fazer isso, posso colocar dois pontos de interrogação. E então eu dei o valor padrão, o que eu quero. Por exemplo, direi meu sobrenome até agora, o noaa. Então, dessa forma, quando eu salvar e meu nome estiver indefinido, então eu obterei meu nome para esse valor que é chamado de não. Portanto, isso é como uma verificação de conhecimento ou conhecimento. Podemos dizer que o operador de coalescência de conhecimento. Então, dessa forma, meu nome para obter isso como valor padrão quando meu nome estiver indefinido. Então, vamos tentar isso. Ok, Como você vê, esse valor ou essa variável é indefinido. E obteve esse valor, que é como a segunda opção para depois desse operador de conhecimento. Então, quando eu der um valor ao meu nome, então vou dizer aqui sexta-feira, ok, isso agora está definido. Tem um valor que é chamado de gordo. Nós salvamos e atualizamos, ok, que nossa variável, meu nome dois, podemos dizer aqui para ter isso mais fácil, meu nome dois é igual. E podemos colocar aqui mais apenas para aprender e igual ao meu nome. Então, vamos salvar. Tente novamente. Desculpe, eu tenho aqui salvo. Então meu nome dois é igual a gorduroso. Mas quando isso é indefinido, então eu atualizo. Não tem, porque aqui eu tenho esse valor ou esse valor padrão. Portanto, pegue por padrão este se este não estiver definido ou nulo. Então, quando eu dou isso para null também, ele passará para o valor padrão. Portanto, isso é muito bom para inicializar variáveis. Quando você não tiver certeza de que alguma variável tem nula ou indefinida
, você pode atribuir um valor padrão, o que será certo para essa variável. Veremos que, em assuntos mais acadêmicos ou mais avançados, como iremos operar todas essas coisas junto com ifs e loops. E também no contexto de seu código.
32. Operadores de comparação: Sabemos que talvez operadores de comparação da matemática e também eles estão disponíveis em JavaScript. Então, vamos supor que temos duas variáveis. Vou dizer aqui, deixe um, por exemplo, um número como dois. E também let b é um número como cinco. Então agora posso dizer como um maior que B ou como ser maior que a. Então, dessa forma, você pode definir todos esses operadores de comparação também em JavaScript. E também você pode verificar se essas duas variáveis são iguais entre si. Então, como podemos fazer isso? Vamos tentar consolar o log novamente. É por isso que a TI para, por exemplo, o log do console para ver os resultados à sua frente. Então eu direi, por exemplo, a é maior que b. Então isso se comparará para mim a com B. Se a for maior que b e retornará o valor de verdadeiro ou falso. Assim, podemos verificar isso no navegador, eu atualizo, fiquei falso porque é verdade que a não é maior que B, mas é menor que. Então eu posso dizer que aqui é menor do que,
então, quando nos atualizarmos, então eu vou ficar como um verdadeiro. Então, com esses sinais, você pode dizer que todos esses operadores de comparação de matemática, você também pode defini-los em JavaScript. Então você também pode dizer que, se for maior ou menor ou igual, como você pode dizer assim, se for menor ou igual. E também você pode dizer isso maior ou igual. Então, desta forma, quando a for maior que b, ele retornará verdadeiro. Quando a for igual a b, ele retornará verdadeiro também. Então, vamos tentar isso. Vou dar um valor de oito. Então, vamos atualizar. E você vai ter um verdadeiro e também um eu coloquei como cinco, então eles são iguais um ao outro e eu também conseguiria passar. Então, e se eu
quiser, por exemplo, digamos, gostaria de mostrar o outro exemplo se for menor ou igual. Então eu vou passar também porque é igual. Então, vamos dar um valor, como um valor maior. Então, podemos dizer, ou menor valor. Então podemos dizer que iremos chegar bem se dermos valor maior, agora a é maior que b, então essa condição não é alcançada. Então vou dizer aqui ou vou chegar aqui falso. Então, dessa forma, você pode comparar entre as variáveis. O que estamos perdendo agora é igual apenas eu não quero maior ou menor e igual. Então, podemos dizer também, apenas igual. Então, só igual quando você coloca isso, é condicional. Portanto, está verificando entre duas variáveis ou dois valores juntos. Eles são iguais ou não. Então, quando digo que é igual a 4 b, não, falso. Quando eu colocar a é igual a b, então terei um verdadeiro. Então, dessa forma, sabemos que um b é igual ou não. Certo? Posso verificar também se não é igual. Então eu posso dizer aqui com não, então isso não é, então eu digo que não é igual. exclamação significa não igual. Então, dessa forma, direi que se não for igual a b, então ele voltará para mim um verdadeiro, como você vê aqui, eu refresquei, eu consegui um verdadeiro. Então, vamos colocá-los iguais um ao outro. Vou colocar aqui cinco. E fiquei falso porque eles são iguais um ao outro. Então aqui estou solicitando se eles não são iguais ou não. Então, se assim eu puder dizer como quando tenho um valor
ou algo parecido, posso definir condições na minha sequência de código. Eu digo que se alguma variável não for igual a alguma variável, o Zen faz alguma coisa. Portanto, esses operadores de comparação, eles são usados no JavaScript exatamente como estamos usando-os em matemática. Então, para isso, quero que você treine em operadores de comparação para ver no futuro como vamos trabalhar profundamente com eles e fazer nossa lógica de nossos programas. Então, isso é com o número. E se eu tiver, como, por exemplo, duas cordas juntas? Então, as duas palavras estão comparando letra por letra. Então vou dizer aqui um tipo como uma corda. E aqui vou dizer z. então vou colocar aqui x0. Então eu vou verificar se um maior que zed, olha, eles são cordas, para que possamos verificar isso. Então, vou salvar, atualizar. Fiquei falso. Ok, é igual menor que b, ok? É verdade. Portanto, está verificando também as ordens das cadeias de caracteres. Então, se eu disser como um zed a, E. Então vamos verificar se um menor que B. Então, ele verificará letra por letra. Então eu diria que um é menor do que isso. Então, terminamos. Se um menor que z, então tudo bem, terminamos, mas e se ambos forem um? Então, vou comparar a e a são iguais, então ele se moverá para o segundo caractere automaticamente e os verificará juntos. Z é menor que e. Não, nos dará falso. Como você vê aqui, é falso, mas quando eu troco essas letras, então aqui são iguais, ok, então não tem nenhum valor, então ele se moverá para a segunda letra. Ele comparará o H-I com o Zed. Então, ele verificará se E é menor do que isso, então isso acabou, isso nos daria uma verdade. Então, é assim que você pode comparar também, as cordas. Certo? E se eu tiver um e B você de um tipo diferente? Por exemplo, direi que tenho um aqui como dois e aqui eu o tenho como um número, como um que podemos dizer. Então, aqui estão dois como uma string e um é como um número. Então, vamos ver se a compressão também funciona. Então, vou salvar, atualizar. Fiquei falso. Então, a é menor que b é falso. E se eu colocar maior ou maior que? Vamos tentar isso. Eu passei. Então, dessa forma, isso é igual a algo, como eu disse, um é igual a 2 sem uma string. Portanto, a compressão tentará alterá-lo para um número e depois compará-los juntos. Então, dessa forma, você também pode comparar diferentes tipos de viáveis juntos. Além disso, podemos dizer que se um for igual a verdadeiro e isso for igual a um. Então você também pode compará-los se eles forem iguais entre si. Vamos tentar isso. Veremos que ele retornou para nós verdade. Então, verdadeiro é igual a um, mas não é igual a 0. Então, vamos tentar isso. Sim, é falso. Portanto, o falso logicamente é 0 e também é um. Então, dessa forma, você pode ver aqui que temos verdadeiro porque false é igual a 0 como estamos comparando aqui.
33. Comparando ==e ==: Há algo em JavaScript que é chamado de igualdade estrita. Igualdade estrita é uma verificação regular de igualdade. Mas essa verificação de igualdade regular que tínhamos antes como esta tem um problema. Não pode diferenciar entre 0 de quedas, como você vê aqui, porque está sempre retornando um verdadeiro. Mas nas mesmas coisas acontecem também quando você tem uma string vazia. Então eu tenho aqui como uma corda vazia e quero compará-los juntos, eu vou passar. Portanto, a string vazia também é igual a false. Isso aconteceu porque os operandos de diferentes tipos são convertidos em números por operador de igualdade. E então a corda vazia é como falsa, torna-se 200. Portanto, a string vazia é igual a 0 porque é convertida em número como vimos antes. Então, o que fazemos se quisermos realmente diferenciar entre o 0 e a string falsa ou vazia e a falha ou a falsa. Então, como operador de igualdade estrita, verifique a igualdade sem conversão de tipo. Então, dessa forma, quando eu coloquei um 3 iguais juntos, digo comparar para mim os valores e também os tipos. Então, quando eu tiver aqui com dois iguais é verdade, então eu vou ter isso agora cai porque estou comparando
também se a é ou tem o mesmo tipo de B. Então, quando eu salvar, ficarei falso porque eles não são iguais um ao outro como bem quando eu faço com 0. Então, como você vê, ainda
estou ficando falso. Portanto, é melhor usar toda essa igualdade estrita em todos os nossos programas, porque então diferenciamos entre os tipos. Em outras palavras, se a e B forem de tipo diferente, esse operador ou três é igual, retornaremos imediatamente false sem qualquer tentativa de
converter esses dois números ou a string vazia em um número também. O mesmo vale para a não igualdade. Então eu tenho que dizer como quando quero saber se alguma variável não é igual a outra, preciso também estringir o tipo. Então eu quero saber se eles também não são iguais como um amarrado. Então, aqui, é realmente verdade que eles não são iguais entre si. Mas se eu chegar aqui esse operador ou um igual, então eu vou chegar aqui falso em vez de passar porque eles têm agora, ok, tipos diferentes, mas os mesmos valores da lógica JavaScript. Então aqui eu vou conseguir um é diferente do b, eu fico falso. Mas quando eu recebo é diferente do tipo b e diferente. Sim, é verdade. É por isso que estamos recebendo todos esses valores. Como eu disse, é melhor sempre quando você usa conversão para comparar o tipo também. O mesmo IS vai para nulo e indefinido se eu quiser comparar o nulo e o indefinido. Então, por exemplo, se falamos antes, dissemos que nulo não é igual a indefinido. Então eu posso dizer aqui, vamos colocar o igual primeiro. Então, vamos registrar isso no console. Vou conseguir para isso um verdadeiro, ok, Null é igual a indefinido. Mas como eu disse antes, nulo é diferente do tipo indefinido. Eles têm seu próprio tipo. Então, quando eu colocar aqui outro igual, entendi que isso é falso porque agora estou comparando os tipos juntos. Nenhum tem um tipo diferente do indefinido.
34. O operador ternário: Você se lembra antes de eu dizer que podemos usar operadores de
comparação com um sinalizador com a instrução IF. Agora temos em JavaScript moderno como em linha se eu quiser explicá-lo antes da instrução if, que é mais fácil de entender e entenderemos a instrução IF facilmente. Então, agora suponha que temos a e B. Eu direi como novamente aqui que temos um tem 0 valor um, e também B tem um valor 2. Então, dessa forma, vou compará-los e dar um valor para uma variável que é chamada C. Então eu direi que, se for maior que B, então C terá um valor, por exemplo, ou cinco. Se não, então ele terá um valor dez. Então, como podemos escrever isso no código. Então eu direi aqui em definir uma variável que é chamada c, que é igual a esse valor, que é resultado de comparação entre a e B. Então eu direi aqui um maior que B. Então eu coloco o condicional se, que é ponto de interrogação após a declaração. Então eu digo aqui a declaração de comparação, e depois coloquei um ponto de interrogação. Então, se isso estiver retornando um verdadeiro, então C terá um valor cinco. Se não, então com dois pontos, direi que esse valor terá 10 ou C terá então. Então, depois disso, esse é o console registra o valor c e vamos excluir este. E veremos agora que C obterá esse valor
ou esse valor com base na comparação entre a e B. Então, vamos salvar isso e tentar,
ok, veja, GOT ten. Por quê? Porque a não é maior que b. Então, quando a é maior que B, então C obterá 5. Então eu vou colocar aqui, por exemplo, 10, então C receberá cinco porque é realmente maior que b. Então aqui você pode colocar qualquer operador de conversão que temos antes. Então, quando eu quero dizer se um igual a b, então c obteria esse valor. Assim, dessa forma, você pode comparar ou atribuir um valor a uma variável com base em alguma condição de outra variável. Então eu diria aqui, por exemplo, se a for igual a 10, então dê C também compareça. Então, vamos dizer ou desculpe cinco. Então, dessa forma, estamos fazendo uma conversão e atribuímos valor a uma variável, inicializando-a com uma dessas duas variáveis. Então, todos esses valores, lembre-se, tivemos que ponto de interrogação, que é como atribuir um valor padrão. E também quando isso, por exemplo, a é indefinido. Ou podemos ter esse operador ternário. E esse operador ternário é como a declaração IF para concorrência entre dois valores e dando o resultado com base nisso. Não se trata apenas de comparar valores. Você pode dizer, por exemplo, eu tenho aqui uma variável, podemos chamá-la, por exemplo zed. E o zed tem um valor verdadeiro. Então, tem um verdadeiro como em algum lugar antes no meu código. Então eu digo aqui, ok, verifique para mim, é que se é verdadeiro presente ver cinco, se não, então dê dez. Como você vê, temos cinco. Mas quando isso for falso, então C receberá 10. Então, dessa forma, você também pode definir qualquer booleano dentro desse operador e verificá-lo. Portanto, verificar esse valor aqui ou essa conversão está retornando verdadeiro ou falso. Portanto, ele deve retornar para você, verdadeiro ou falso.
35. Operadores lógicos: Em JavaScript, também temos os operadores lógicos como AND, OR e NOT. Então, se você se lembra, falamos sobre NAT. Então eu posso dizer não algo e também não igual ou maior que, e nós o usamos principalmente com não igual. Além disso, você pode usar o operador AND. Então eu posso dizer aqui em nosso exemplo, como para mim, vamos dar um zed e deixar, dar um y, e isso y terá um verdadeiro. Então eu posso dizer aqui, se zed e por quê? Como se fosse falso e verdadeiro, então dê um valor cinco e também dê um valor dez quando for falso. Então, vamos explicar com mais clareza e facilidade. Vamos esquecer esse C e vamos remover esse log do console para não ter nenhuma confusão ou vamos comentar. Então, podemos comentar como eu disse antes. E agora podemos dizer, ok, log
do console para mim, como Z e Y. Então você pode dizer aqui AND operador é dois comercial e t2 vezes. E então você pode usar o operador AND ou a lógica final. Então ele vai consolar para mim falso e verdadeiro, então será falso porque e é como, por exemplo, a parte lógica para isso. Então eu chego aqui o falso. Mas quando eu digo isso zed ou assim com colunas, duas colunas, então eu vou passar porque y é verdade. Portanto, esses são os operadores lógicos que temos em matemática. Então, dessa forma, você também pode fazer compressões como quando você diz quando a é maior que b ou y, por
exemplo, então você vai passar, por exemplo, aqui temos um é maior que b, ou adivinhando aqui, desculpe, B. Então teremos aqui como todos y, então é verdade. Então, quando nós imprimimos uma verdade, mas quando eu digo aqui e já disse, então eu vou passar também porque essa parte está retornando para mim um verdadeiro, então verdadeiro ou falso é verdadeiro. Então agora vamos dar, por exemplo, como e então eu direi aqui, como essa lógica, podemos dizer verdadeiro e falso. Voltamos para mim o quê? Falso. Portanto, o operador lógico em matemática está seguindo esse caminho. E assim e ou é assim.
36. Precedência do operador: Isso também é precedência do operador em operadores lógicos. Então eu posso dizer aqui, como por exemplo, zed e, por exemplo, AND, e um maior que B. Então você pode ter vários presidentes, então uma precedência aqui que os operadores lógicos AND, OR são sempre mais fortes do que o, por exemplo, esses operadores de conversão. Então, desta forma, isso será executado primeiro e, em seguida, isso será executado primeiro, como uma verdadeira resolução ou dissolver todos os valores para verdadeiro ou falso, e então a conversão ou o operador lógico fará o trabalho. Então, antes de tudo, resolvemos todos esses operadores de conversão
e, em seguida, fazemos a, por exemplo, a lógica para isso. Então, vamos ter um exemplo que é mais complicado. Então, eu gostaria de explicar isso em valores. Então vou dizer que aqui é outro também verdadeiro ou dois. E também y é, podemos dizer 5. Então, vamos combinar vários operadores lógicos. Então vou dizer aqui, se for maior que B, e podemos dizer que b é maior que 0. Então podemos dizer que aqui seja maior que 0. E também podemos ter um é maior que Y. Então, dessa forma, teremos dissolver todos esses operadores. Então, vamos tentar isso. Ok, ficamos falsos porque B não é verdade, porque é falso porque b e z são iguais entre si, então eles não acabaram. Então, quando colocamos isso igual como maior ou igual, então isso retornará verdadeiro porque isso é verdade. E B maior que z é verdadeiro, e um maior que y é verdadeiro. E se agora, se eu colocar como um operador lógico diferente, como eu vou colocar um ano ou por exemplo, então eu coloco aqui ou como um ou maior que b, ou b maior que 0 e um maior que b. Então, quando eu pressiono Salvar mais bonito aquele glicogênio que instalamos, reformatou para mim o código para ser dessa maneira. Então eu tenho aqui um operador maior que B ou esse. Então, ele resolverá este 1 primeiro e, em seguida, comparará com OR. Então, com esse padrão, isto é, fizemos a precedência do operador. Então dissemos que resolver para mim isso mais justo e depois compará-lo com o uso ou operador lógico com o resultado de a e B. Então você pode dizer também aqui se eu tiver um e, por exemplo, posso dizer aqui e um maior do que como, por exemplo, oito ou seis. Então, como você vê, todos
são resolvidos primeiro e depois, ou estão se preocupando com os resultados de ambos os operadores. Então, dessa forma, você alcança a precedência do operador de uma forma que você possa trabalhar com ele mais claro com seu estilo de codificação.
37. Condicionais usando se houver casos de uso em que se: Na programação em geral, às vezes precisamos realizar ações diferentes com base em diferentes condições. Vimos antes que temos algumas declarações que retornam falsas e algumas delas retornam verdadeiras. Então, com base nisso, posso decidir fazer algo no meu código. Por exemplo, vou lhe dizer que, tudo bem, se eu, o usuário colocar uma senha errada, então mostrarei uma mensagem de erro. Ou quando o usuário colocar a senha correta. Então vou deixá-lo ir para a página inicial ou para o painel do meu aplicativo. Assim, com base nisso, você pode alterar o comportamento do seu, por exemplo, o aplicativo e também a sequência dele. Até agora, vou mostrar a você como construir as condições e mudar
o comportamento do seu aplicativo com base em algumas condições. Então, vamos supor que temos duas variáveis. O primeiro é chamado de a e temos um valor disso como cinco. E também temos b e o valor dele é um. Então, com base em alguma decisão como eu quero comparar a e B, farei algo com base nessa comparação. Então, para fazer isso, aprendemos antes que posso comparar e B com um maior ou menor que. Assim, com isso, também podemos decidir o que fazer após a comparação, porque um maior que b pode retornar para mim verdadeiro ou falso com base nos valores de a e B. Então, a instrução if avalia uma condição entre parênteses, e se o resultado é um true, execute um bloco de código. Então, como podemos fazer isso? Então eu posso colocar um if, e posso colocar esses parênteses. E entre esses parênteses, algo deve ser um booleano, como o resultado de H seria Booleano Verdadeiro ou falso. Não importa quantas condições e
quantas condições lógicas entre elas você tem. Assim, podemos começar simples, como vou dizer, se a for maior que b, então eu posso fazer alguma coisa. Vamos usar o registro do console. Então eu direi aqui que você tem que abrir chaves, que eu disse que conterá o código executável da largura do bloco. Então, como eu disse, vamos colocar entre eles, se essa condição for verdadeira, que vamos colocar entre eles como algum log do console, digamos que eu tenha um console.log. Podemos dizer que a é maior que b. Então, dessa forma, veremos no registro do console alguma lógica ou alguma mensagem que diz que a é maior que b, caso a seja maior do que b realmente. Então, vamos salvar isso e atualizar. E veremos, ok, a é maior que b. Então isso tentou, mas se eu colocar, por
exemplo aqui, digamos que a é 0. Então agora a é menor que b, então não é maior. Nesse caso, não verei nada. Portanto, o código ou a sequência do código não entrou aqui para executar o log do console porque se a condição não é, por
exemplo, válida porque isso está retornando um falso como vimos antes. Então, quando isso retornar false, o bloco não será executado. O código dentro do bloco. Assim, você pode colocar o código quanto quiser dentro desse bloco. Então, quando essa condição for alcançada, todas elas serão executadas. Então, vamos ver que vou pagar aqui ou colocar aqui quatro. E então veremos que a é maior que B e o código foi executado dentro desse bloco. Então, como eu disse, tudo, retorno lógico
condicional verdadeiro ou falso está aqui. Até você pode definir uma variável. Então eu posso dizer aqui se for,
então, se um for verdadeiro, então execute esse código. Se a for falso, o código não será executado. Então, atualizamos, veremos o mesmo. Então, se eu colocar B aqui como falso, então veremos isso. Então eu tenho que verificar B. Então veremos que esse código não é executado porque isso é falso. Se você disser a e B, então você ficaria falso porque verdadeiro e falso são falsos. Mas se colocarmos, por exemplo, ou como conectamos duas condições juntas, então é verdade porque verdadeiro ou falso é verdadeiro. Assim, você pode fazer qualquer lógica que quiser aqui para colocar algum código específico com base na lógica como eu disse,
se o usuário fez login ou o valor de login do valor da variável for verdadeiro, então nós permitimos que o usuário redirecione para o painel. Caso contrário, não o permitimos e deixamos ou mostramos a
ele alguma mensagem de erro informando que sua senha está errada.
38. Verdadeiro e falsy: E se eu passar um número para um F ou uma string, ou string falsa, ou algum número diferente ou objeto vazio ou qualquer coisa. Não é um booleano como eu te disse, como não uma lógica. Então, o resultado disso é chamado de verdade ou falsidade. Assim, dessa forma, o JavaScript lidará com alguns valores específicos como a verdade ou como falso. Então, vamos ver o que é verdadeiro e defeituoso. Então, normalmente os desenvolvedores caindo em erros por causa disso. Então eu vou te mostrar como primeiro, qual é o conceito? E então vou explicar a vocês como você pode cair em uma armadilha ou erro de se verdadeiro e falso em JavaScript no valor russo é um valor que é considerado quando encontrado em um contexto booleano. Portanto, todos os valores que são passados para o EF são considerados verdadeiros como veremos agora. Então, antes de tudo, se eu disser que é verdade como vimos na palestra anterior, tudo bem, isso é considerado através e executará esse código. Então, vamos tentar isso. Certo, temos aqui é verdade. Então, vamos mover o log do console para o próximo. Se eu colocar um número entre os parênteses ou os parênteses, o que será considerado dessa maneira? Portanto, qualquer número, positivo ou negativo é considerado verdadeiro. Então, quando você disser se o número for, será transferido para um valor verdadeiro e, em seguida, ele executaria o código dentro do, if. Vamos tentar isso. Atualizar faz com que você veja o console registrado e isso, se for executado, então esse bloco também está sendo executado. Então, também, se você colocar 0 em uma string, então ele é considerado como verdadeiro porque qualquer string,
não uma string vazia, é considerada como verdadeira. Então, quando você diz se 0 ou qualquer coisa, então é considerado um verdadeiro. Então, vamos mover esse log do console. Você pode mover no Visual Studio Code usando a tecla ALT e as setas. Então você pode usar qualquer declaração quando colocar o mouse sobre ela. Então, tecla Alt e as setas para cima ou para baixo, você moverá a instrução na linha. Então, isso estará no Visual Studio Code. E também você pode usar a tecla Options no Mac OS. Então agora eu coloquei aqui o log do console no 0, mas como uma string, não como um número. Então, quando
atualizarmos, veremos que ele foi executado e temos o log do console. Mas se eu colocar se 0, assim, 0 é considerado como falso como vimos antes. Então, se transferirmos isso para false e então nada seria executado aqui. Vamos atualizar o hóquei. Não temos aqui nada. Então, depois disso, podemos ir para outra parte complicada com é como falso. Então, se eu colocar falso assim, isso será executado ou não. Então, vamos tentar isso. Certo, é verdade, por quê? Como isso é uma string, não
é um verdadeiro ou falso. É um booleano. Mas quando for booleano assim, se for falso, então não será executado porque o resultado de if é falso. Mas como isso é considerado como uma string, então é uma string completa, então ela será transferida para true. É como cair como qualquer corda, nada mais. E como eu disse antes que qualquer número pode ser considerado também através do que é verdade. Então, também temos o número negativo. A mesma coisa vai para os carros alegóricos. A mesma coisa também vai para o número flutuante negativo e também a mesma coisa para o infinito. Eu não falei sobre o infinito antes. Infinity é um número que se referia ao infinito como um número infinito. Então, dessa forma, temos o infinito como menos e infinito positivo. Então aqui temos todos eles através do porque eles são considerados como um número. Olha, estou colocando o mouse e estou recebendo infinito é número. Além disso, falaremos sobre objetos mais tarde. Assim, também objetos vazios, eles são considerados verdadeiros. Você não precisa se preocupar com isso. Veremos os objetos mais tarde, mas tenha em mente que objetos vazios também são verdadeiros. Vou te mostrar isso mais tarde e lembrá-lo disso mais tarde. Então, em todos os lugares é como aqui, também uma matriz vazia também, que é como também array. Falaremos sobre os arrays mais tarde também. É o semelhante, como podemos dizer objetos, podemos colocar o mesmo. Se for uma matriz vazia, então é considerada uma verdadeira criação de um objeto de algo ou alguma classe, como veremos mais tarde, que é chamado de data. Podemos criar uma nova data da hora atual no seu PC. Isso também é considerado verdadeiro. Veremos também isso mais tarde. Então, todos eles são considerados como Rosie, a parte mais importante que eu quero que você se concentre nesses dois. Então, quando você tem quedas na corda, é verdade. E se você tiver 0 como um, como uma string, também é verdade. Então eu quero que você tenha cuidado com esses pontos. Também em JavaScript, existe um conceito que é chamado de falso. Então, como você vê aqui, temos uma verdade e temos falsidade. Portanto, esses valores que não são booleanos podem ser considerados como um falso, por exemplo, cai porque é booleano, então é falso. Além disso, nulo é considerado como falso. Então, quando você tiver se nulo, isso significa que isso não será executado. Então, quando eu coloco aqui um log de console dentro do if null, isso não será executado. Então eu posso dizer ano, é falso, então não será executado. Vamos tentar isso. Veremos que não conseguimos nada. Temos só que é verdade para um novo encontro. Mas agora, se eu removê-lo, então não teremos nada. Também considerar indefinido também é falso. Portanto, se você disser se indefinido desativado ou se alguma variável estiver indefinida, nesse caso, não
executaremos o colchete entre o IV. Então, também indo com 0 e menos 0 e não um número e também string vazia, todos eles considerados como um falso. Então, quando eu tenho uma variável, tem um valor 0 ou menos 0, ou indefinido ou não um número ou uma string vazia. Então, neste caso, não
executaremos nenhum desses ifs. Portanto, não teremos nenhum código executado dentro desses colchetes desses. Portanto, esse é um conceito de verdade e falsidade. Espero que você entenda. Claro, veremos mais tarde mais avançado, por exemplo, experiência trabalhando com o prático. Então você verá como você pode considerar quando você tem que dizer que é falsidade, tudo é verdade. O ponto mais importante que quero considerar, algumas pessoas dizem é como ok, se eu tiver uma variável e se eu quiser dizer se x, então você tem que saber o que é um valor de x para ter certeza de que esta declaração if, seria executado ou não.
39. Se ..outro: Nesta palestra, vamos falar sobre se mais. Então, se isso não for falso ou se não for verdade, então temos outra opção que fazemos. contrário, como eu disse, se eu não quiser ir, por
exemplo, a um museu, irei para o parque. Então, dessa forma, você também tem essa lógica. Então, quando você diz algum valor, se não for verdade, então você pode ter um outro. Então, vamos colocar aqui um comentário para que você possa baixar esse código. Então vou dizer aqui sobre se mais. Então, neste comentário, vamos ter uma variável. Vou dar-lhe como um valor que é verdade. Então eu direi que B esteja na regra. Então podemos dizer aqui na r2. E então eu direi que se for como se B for verdadeiro, então execute para mim que podemos dizer que tem um log aqui, podemos colocar o log de pontos do console e colocamos B é verdadeiro. Este é o exemplo mais simples. E então você não precisa dizer se não B, você pode dizer o outro, como em qualquer outro caso, quando B ou essa condição não for alcançada, então você pode fazer outra coisa. Então, direi que o log b do console é falso. Então, dessa forma, quando você tiver B é verdade, ele executará isso. Caso contrário, ele executará este. Então, vamos tentar isso. Certo, temos um erro. B já foi declarado. Então, se você se lembra, declaramos essa variável aqui. Então, vamos chamar isso como C. Então eu posso ir aqui e dar-lhe SE. Portanto, você precisa ter cuidado ao nomear suas variáveis para não ter nenhum erro. Então agora temos c é verdade, certo? É verdade. Mas quando eu coloco como falso, então, ok, C é falso. Vamos ter outro exemplo. Então eu direi, por exemplo, 20, maior que três. Certo, vamos ver. C é verdade. Portanto, o resultado é verdadeiro sempre quando essa condição é alcançada ou quando isso é como um verdadeiro. Para que possamos mudar isso de volta. Podemos dizer que 20 é maior, então temos todos menores. Então temos C é falso porque esta afirmação resulta falsa. Então, como uma pergunta para você, se eu remover aqui tudo, qual será o resultado? Eu quero que você pense sobre isso. Então a lógica diz que, veja agora não tem nenhum valor. Então, o que ele tem, o que é um valor de z indefinido? Assim, dessa forma, não será definido ou não será considerado como verdadeiro. Então, ele vai para falso. Então, vamos tentar isso. Certo, C é falso. Então este é um conceito que eu te falei sobre verdade e falsidade antes que você tenha que se preocupar. Então, quando C não é inicializado, ele é considerado indefinido. Então, dessa forma, você pode executar o else. Portanto, esta é a lógica mais simples de uso entre se mais, veremos mais detalhes no futuro com exemplos práticos e também com os questionários.
40. Looping com enquanto estiver em contato.: Em JavaScript, precisamos sempre repetir algumas ações. Ou na programação em geral, você precisa repetir algumas ações para acontecer até que alguma condição seja alcançada. Portanto, não posso dizer print for mim ou log do console para mim, como de um a dez até que alguma condição seja falsa. Então, como podemos fazer isso? Podemos usar enquanto estiver em JavaScript, há alguma palavra-chave que é chamada while. E este você pode usá-lo. E entre alguma condição. Sob alguma condição, ele continuará repetindo, repetindo,
repetindo até que essa condição seja executada ou terminada. Então, exatamente como se aqui for como alguma condição, como eu direi 10 maior que B, então você tem que registrar algo também, exatamente o mesmo. Então, quando isso for verdade, isso continuará sendo executado. Ele não será executado uma vez como se, mas continuará sendo executado até algum valor ou isso enquanto estiver quebrado, até que essa condição seja quebrada de alguma forma. Então, por exemplo, vamos dar uma condição simples. Eu direi enquanto for verdade. Então, desta forma, como se tivéssemos um verdadeiro, como enquanto verdadeiro. Então, quando você salva, atualiza sua página, você receberá muitos registros do console e terá cuidado para obter um loop ilimitado. Então, desta forma, obteremos o log do console tempos ilimitados. Então, como você vê aqui, temos quase agora 100 selvagens estão estripando ou está se repetindo. Então, dessa forma, você precisa ter cuidado para não travar seu navegador. Então, vamos colocar aqui, recuar e atualizar a página. Ok, agora não posso atualizar porque ele realmente ficou preso porque eu tenho loop infinito. Então, preciso fechar o navegador e abri-lo novamente. Então, para ter uma condição ou mudar sua condição onde a vida selvagem, ela pode parar em algum tempo. Podemos fazer o seguinte. Assim, podemos, por exemplo, definir uma variável chamada olho. Isso normalmente é na programação para a qual a IA é usada, como se eu nome fosse usado para coisas repetidas. Então, dessa forma, você pode dizer, enquanto eu
for, por exemplo, menor que dez, então você pode registrar o console. Por exemplo, podemos colocar o olho em si como se ele contasse para nós de 1 a 10 de alguma forma ou de 0 a dez. Mas precisamos mudar o valor do olho sempre. Caso contrário, essa condição continuará e também
entraremos no infinito, por exemplo, loop. Agora vou ter I plus plus. Então, se você se lembra, dissemos que eu
mais, além disso, aumentando o valor da variável em um, é o mesmo exatamente como você diz como eu mais ou eu igual a eu mais um. Então, é exatamente o mesmo que fizemos antes e falamos sobre isso antes. Então, vamos tentar isso agora e atualizar. Ok, temos 0, 1, 2, 3 até nove. Então vimos que essa condição foi alcançada até as nove. Então, quando eu tiver um valor nove, o que é verdade porque nove é menor que 10, ele manterá o registro no console. Mas você também pode colocar quando eu menor ou igual a 10. Então podemos dizer que, então, de um a 10, como você vê aqui. Portanto, o log do console está funcionando bem sob alguma condição específica e é repetido várias vezes com base em alguma condição Durante o tempo. É melhor do que ter um log do console. Console de log do console, log, log do console para. Você vê que salvamos muitas linhas de códigos. Então, dessa forma, fizemos um registro de console uma vez e depois repetimos várias vezes usando willl. Tenha cuidado o mais importante para não entrar no loop infinito. Caso contrário, você quebrará ou seu travará seu programa e o navegador ficará preso e você terá que fechá-lo ou forçar o fechamento da mesma forma que você pode dar, por exemplo,
para 10, como eu tenho dez e você pode dar menos, menos. E enquanto eu estiver, você pode dizer como você pode configurar, isso. Você pode configurar a condição para ser, por exemplo, enquanto eu for maior ou igual 0, então teremos menos menos I, que terei menos valores. Então vou contar de dez a 0. Então, vamos tentar isso exatamente. Temos de 10 a 0. Então, dessa forma, podemos considerar sempre essa condição quando for verdade, isso continuará sendo executado. Então agora vou remover essa condição. Eu vou continuar, eu, então, apenas como um teste para você sobre falsa e verdadeira. Então, agora, quando eu salvar, você
acha que vou entrar em loop infinito ou não? Então, porque se você se lembrar, vamos ter menos e pode ser menos um, menos dois, menos três. Mas vamos ver o que acontecerá. Certo, vou salvar, atualizar. Bom. Eu não tenho nenhum loop infinito e não fui para menos y. porque se você se lembra, eu lhe disse que se 0 é falso, então o olho, quando chegar a 0, então essa condição será falsa e depois o enquanto o loop será quebrado e n, ele vai parar. Portanto, não vai além de 0 porque essa condição quando o olho é 0 é falsa. Então isto é, tenha cuidado com a equipe falsa e verdadeira, que eu falei antes. É muito importante que você saiba exatamente o que é um comportamento do seu programa vai fazer, especialmente quando há valor oculto que você não pode considerar como este.
41. Looping com a fazer: Então, vimos antes disso, quando estamos fazendo um loop em algum tempo,
essa condição deve aparecer para que a lata ou o desenvolvedor possa entrar no loop. Então, dessa forma, veremos se temos a possibilidade de executar um comando como entramos no loop e, em seguida, verificamos a condição. Então, a maneira de fazer isso é usar o “fazer while”. Então, é exatamente o mesmo que enquanto, mas estamos mudando para fazer enquanto. Então, o imposto descendente para isso, que eu usaria um teclado que é chamado de due, e então você executa o código que deseja fazer. Por exemplo, eu quero ter esse tudo. Vamos voltar ao simples, que é como, digamos que j ou k ou não, não importa. Você pode dar qualquer nome. Então, deixe j ser 0 e então você pode dizer log do console para mim J. E depois disso você pode verificar essa condição. Então podemos dizer, bem, não
temos que entrar também no loop infinito. Então, temos que dizer j plus plus. Então aumente para mim que j várias vezes até que alguma condição acontecesse. Então vou dizer aqui enquanto, e então eu coloco minha condição Yj é maior que 10. Então, dessa forma, a diferença aqui de que estamos em um tempo, em um tempo normal, não
entramos no conteúdo do while até verificarmos se essa condição é alcançada ou não. Mas aqui em fazer enquanto, será executado pelo menos uma vez. Então, ele iria no tempo dentro desses colchetes e
executaria esse código e , em seguida, verificaria a condição. Então, vamos tentar isso e salvar. Vá de novo. Temos tudo bem, talvez vamos comentar este ano, então não precisamos ser executados para, então para não vê-lo no console. Essa condição foi executada somente em 0 porque
executamos 10 não é maior que 10, então parou. Então, ele é executado uma vez e parou. Mas agora, se eu fizer aqui, como enquanto j ou 0 for menor que 10, então funcionará. Então, temos aqui 0 a nove, exatamente o mesmo que enquanto. Mas a diferença é que a execução do conteúdo
do while será uma depois de alcançar a condição se for verdadeira ou falsa, isso ocorre em algum tempo, mas em do-while, estamos executando o código pelo menos uma vez.
42. Looping com for: Então, em JavaScript, há também outro tipo de looping. Então, temos tempo, temos o tempo, e também temos algo chamado. Então, vamos comentar isso para não nos incomodar no próximo contexto. Então, agora temos aqui o loop for. O loop for também é algo como while. Como se tivéssemos uma variável que é eu e temos como alguma condição e também temos o incremento, mas todos eles estão em uma linha. Então, como posso fazer isso? Então vou dizer aqui FOR loop. E então, com isso, defino uma variável. Digo, por exemplo, vamos k também, vou inicializá-lo com algum valor. Como eu disse, temos tudo sempre inicializado no início de cada loop. E então eu digo a condição que eu quero procurar. Então vou dizer k menor que 10. E então estamos adicionando ponto e vírgula entre todas essas partes para que possamos definir nosso loop for. Então, a última parte disso é o incremento. Então você pode aumentar o k como um por um. Então podemos dizer k plus, mais. E dentro desses colchetes, teremos a execução do código. Portanto, o código aqui será executado 10 vezes com base nessa condição que colocamos, e com base nessa inicialização que temos. Então, vamos tentar isso. E vou adicionar um log de console também. Então, vamos registrar o valor que é chamado k. Então, vamos salvar isso. Ok, o código é formatado por mais bonito novamente, então
atualizamos, temos de 0 a nove também vimos que condição está alcançando com base em todas essas regras que colocamos. Então, inicialização. E então uma condição e, em seguida, o incremento, você também pode aumentar o K para ser duas vezes. Podemos aumentar k o quanto quisermos, para que possamos aumentá-lo em dois. Então você pode dizer que k é igual ao anterior k mais 2. Então, aumentará duas a duas, duas etapas. Então, contará 02468. Então, até que K, ele fica 10. Portanto, essa condição não foi alcançada e ela não o registrará aqui. Então você pode ter um conceito mais curto aqui. Então você pode dizer k mais igual a dois. Então, é mais curto, como obter o valor k anterior e depois adicionar dois a ele. Então, novamente, será o mesmo. É algo como um plus, plus. Ok, agora, outra pergunta que surgiu. Então, posso adicionar mais condições aqui? Como se você se lembrasse, estávamos fazendo com as várias condições IFS ou em geral, estávamos usando o operador AND AND OR operador. Então, dessa forma, você também pode adicionar algumas condições. Mas quando essa condição é quebrada, o loop for parará. Então eu diria, por exemplo, eu direi quando K, podemos dizer e k é igual a cinco. Então ele vai imprimir para mim como 02 e depois quatro, mas não
aumentará, por exemplo, mais do que, por exemplo, mais de cinco. Porque dessa forma, k, quando é igual a 0 ou é igual a cinco, então essa regra é verdadeira. Mas depois disso, não é alcançado. Ou temos que dizer que é menor. Então, quando é igual, já está quebrado porque k no início é 0 e essa condição não é alcançada. Então, vamos tentar isso. Ok, não temos nenhuma saída. Então, quando eu digo, ok, k é menor que cinco, então eu tenho 0, 2 e 4. Portanto, essa condição deve ser sempre verdadeira. Quando for falso, o loop será interrompido. Então, opõe-se a ter como alguns, podemos dizer condições que são como, ok, eu fui quando essa condição não é alcançada, fui ignorado o número cinco. Não, ele quebrará exatamente quando essa condição for falsa. Quando você quiser pular o número cinco. Dessa forma, você tem que colocar uma declaração if dentro. Vamos ver como podemos fazer isso. Então eu vou fazer aqui, como vamos colocá-lo de volta no plus, plus. Não temos mais dois. E então removerei essa condição e também o operador final. E aqui entre os colchetes, posso adicionar outro, se assim for, você pode escrever instruções if dentro de loops. Além disso, isso aconteceu com o tempo e fazer. Então você pode o mesmo, você pode colocar a instrução if dentro de outras instruções. Então agora vou dizer, se pudermos dizer que k é igual a cinco ou não igual a cinco, então faça um registro de console para mim. Portanto, os valores serão impressos para k, exceto o número 5, como veremos agora. Então temos aqui 0, 1, 2, 3, 4 e 6. Então, pulamos o número 5 dessa maneira. Mas se você colocar aqui isso, ok, quando k não é igual a cinco, então ele vai parar nos cinco. Então podemos ter, vamos perder o resto do loop, que é 6,
7, 9 ou 8 e 9 porque essa condição é quebrada. Então, o loop for será interrompido imediatamente.
43. Breque e continuar: Então aprendemos antes disso, quando a condição é falsa, então o loop será quebrado e sairmos desse contexto. Então, para isso, mas também podemos forçar a saída, mesmo essa condição é verdadeira. Assim, podemos usar algumas palavras-chave que são definidas em JavaScript, que é chamada de quebra. Então você também pode quebrar esse loop, mesmo essa condição ainda é verdadeira. Então, não podemos fazer isso. Então, por exemplo, vou fazer, por exemplo, um prompt que é como mostrar como um pop-up na página de como este, nossa página da Web e pedir ao usuário para inserir um número. E vamos ler esse número do usuário. E vamos adicionar a soma. Então, depois de terminarmos o SMS ou quando o usuário não colocar nenhum valor, ele mostrará o resumo ou o valor da
soma dos números que o usuário colocou até agora que podemos usar também o loop while. E vamos usar a quebra quando houver ou quando o usuário não colocar nenhum valor. Antes disso, quero explicar a vocês com um pequeno exemplo sobre o intervalo. Então, se você se lembra que estávamos quebrando a regra ou o loop quando há alguma condição não alcançando. Assim, podemos copiar o mesmo exemplo e comentar este log do console para não ter vários logs de console aqui, que possamos manter um sempre. Então eu tenho aqui deixar k, ou você pode ter outro, que podemos chamar x. e este x é menor que 10 x mais, mais. E podemos dizer como, em vez de como, por exemplo, não é igual, posso dizer como quando x é igual a cinco, então mantenha o registro do console e depois quebre. Então, quebraremos a regra. Assim, podemos ter aqui como ele, é claro que imprima apenas cinco porque quando x apenas cinco, podemos colocar esse console sair. E veremos isso como estamos quebrando esse papel. Então, a quebra de palavras-chave vai parar o
loop for , mesmo essa condição é alcançada como podemos dizer que é verdade. Então temos aqui como X, quando tiver cinco, ele quebrará o loop. Mesmo. X tem o valor cinco, e essa condição é como cinco, menor que dez é verdadeira. Então, podemos ver isso em real. Portanto, temos aqui e o erro K não é indefinido. Então podemos ter ele tido algum erro porque aqui nós não o definimos como K, nós o definimos como x. então eu vou repetir. Então eu terei 0, 1, 2, 3, 4, 5, e depois quebrá-lo o denso continua para 10. Esta é a razão pela qual eu tenho uma pausa aqui quando o valor X tem cinco. Antes de te mostrar que estamos pulando cinco também. Então, continuamos de 0 a 10, mas pulamos cinco. Aqui. Podemos fazer o mesmo. Então você não precisa colocar se x não for igual a cinco, então tudo bem, continuar ou quebrar. Assim, podemos usar uma palavra-chave chamada continue. Então, com essa palavra-chave que estamos dizendo para o loop for,
ok, Continue e se foi. Não registre nada do console e pule o código que está após a instrução if. Então, antes de termos o registro do console antes. Para ver a conquista real disso continuar, veremos que ele também continuará o loop do número, mas ignorará os cinco. Então, vamos ver que agora vou salvar e depois verei tudo bem, 0. E então eu pulei os cinco. Isso está acontecendo porque quando eu digo continuar, o código restante não será executado quando o valor de x for cinco. Então, ele ignorará tudo abaixo. Então, dessa forma, estamos pulando quando o IKS tem um valor cinco. É exatamente da mesma forma quando eu digo que se k não é igual a cinco, então tudo bem, mantenha o registro no console. Mas quando for igual a cinco, ele não fará o log do console porque essa condição curta ou essa não tem nenhum valor verdadeiro, então será falso. Então, agora vamos ao nosso exemplo. Ok, vou ter aqui o registro do console. Vou comentar isso. Estou comentando eles. Você pode ativá-los ao baixar o
código desta seção e você pode tentar sozinho. Mas estou comentando eles para não tê-los
no console e ficamos confusos com o outro exemplo.
44. Acumulador de números de exemplos práticos: Ok, agora vamos ter um exemplo prático. Por exemplo disso, vou usar loop infinito. Certo, não fique chocado. Vou usar loop infinito, mas vou quebrá-lo de alguma forma. Então, o exemplo, vamos ter um acumulador de números. Então, vamos pedir ao usuário que coloque números até que ele pressione Cancelar ou ele pressionou ou coloque valor vazio, então esse loop será quebrado e mostraremos para ele o resumo ou o valor acumulador dos números que ele inseriu antes. Então, vamos tentar isso agora. Primeiro de tudo, preciso de uma variável chamada soma. Então, essa soma, você pode nomear qualquer coisa. Então, ele começará a partir do euro e terá nosso valor de acumulação. Mas antes de ir mais detalhadamente, quero mostrar como posso obter um valor do usuário. Então, obtendo um valor do usuário, você pode dizer, por exemplo, deixar valor e você pode dar qualquer nome a ele. E estamos usando uma palavra-chave em JavaScript, que é chamada de prompt. E esse prompt exibirá no navegador alguns
pop-up e pedindo ao usuário para colocar algum valor. Então, qual é a mensagem que você deseja exibir para o usuário? Você pode colocar aqui qualquer string. Então, quero dizer como inserir o número ou inserir um número. E então o segundo parâmetro, será como por padrão,
uma string vazia, como se não tivéssemos uma string vazia. Então você pode colocá-lo como 0 ou como string vazia. E, em seguida, você pode registrar o valor inserido pelo usuário. Então, vamos tentar isso agora. E vou salvar, executar o aplicativo. Como você vê, esta página diz inserir um número. Então podemos colocar um número como cinco, 55. E eu chego aqui e o console de erro não é uma função, ok, temos que colocar console.log não apenas o console. Então, salvamos novamente, executamos novamente nosso aplicativo. E vamos ver aqui, ok? E então vemos que o valor está impresso aqui, mas não é violeta, então é uma string como você vê aqui. Portanto, estamos recebendo deste prompt o número como uma string ou qualquer coisa como uma string. Então, aqui podemos mudar esse valor como lançando tudo, convertendo-o, se você se lembrar, colocamos antes um número como este, e estamos lançando esse valor. Então, depois disso, quando temos esse prompt? Posso colocar aqui 555. E eu entendi como violeta que indica as DevTools que este é um número. Existe outra maneira de converter dois números que você pode usar em vez de número e colocá-lo entre parênteses ou parênteses. Você pode usar um plus, o plus por trás do valor ou atrás de uma string. Converteremos esse número ou essa string em um número. Então, vamos tentar isso novamente. Vou colocar aqui um número e então, Ok, eu o tenho como um número. Mas se colocarmos, vamos dizer outra coisa. Como podemos colocar letras de fluxo normais de string e não obteremos nenhuma, não um número como você vê aqui. Então, vamos fazer nosso exemplo. Então eu tenho aqui um resumo. Vou definir um loop while. E esse loop while é sempre verdadeiro. Então, teremos um loop infinito dentro, mas vamos quebrá-lo de alguma forma. Então, antes de tudo, vou obter o valor do usuário. Então vou dizer aqui valor, e então estou recebendo esse valor. E precisamos alterar esse valor, que é retornado do usuário para um número. Então eu coloquei um plus aqui. É exatamente como fizemos antes daqui. Como se tivéssemos, o valor é uma string e mudamos para um número. Mas você pode colocar aqui o plus diretamente. Então, depois disso, vamos verificar se o valor não é nenhum. E se o valor não for uma string vazia. E se o valor, por exemplo, indefinido quando o usuário estiver pressionando Cancelar, então vamos quebrar isso enquanto, e então estamos exibindo o valor do acumulador, eles usam? Então aqui eu vou ter um if e este se primeiro estamos verificando esse valor se não for nenhum ou não. Portanto, terei cuidado para não colocar o valor igual a nenhum. Como se não conseguirmos isso. Sempre se tornou, estão chegando como um falso. Então, se você se lembra, tivemos um comentário que é chamado de facilidade nenhum, e então eu coloquei o valor dentro dele. Portanto, isso retornará verdadeiro ou falso quando esse valor não for um número. Além disso, podemos usar ou gostar de ter mais condições, como o valor quando o usuário, por exemplo, colocar 0, por exemplo. Porque se você se lembrar, dissemos que quando estamos convertendo uma string vazia em um número, ela retornará para nós 0. Então, quando o usuário não colocar nada, ele retornará para nós 0. Ok, Agora, quando isso, uma dessas condições é verdadeira, como se não fosse um número e o valor é 0. Então vou dizer quebra, quebrar esse loop e sair dele, e depois fazer o resumo. Então, se isso for verdade, ele sairá do loop. Mas quando não for verdade, vamos pular esta parte e então vamos ter resumo
é igual ao resumo anterior que tínhamos antes no loop antes,
como quando eu recebo o primeiro prompt e o segundo prompt ou segundo pop-up, então estou resumindo, acumulando os valores que são inseridos pelo usuário. Então vou dizer aqui, acumular para mim o valor. Portanto, o resumo é todo resumo mais o valor. E então, no final, podemos fora do loop, como você vê aqui, enquanto e fora do tempo, posso consolar registrar o resumo ou o valor da soma, valor
acumulado, que vem do usuário, que ele importa os valores do navegador. Então, vamos salvar isso. Experimente aqui. Certo, está me pedindo para inserir um número. Vou colocar dois. Coloquei outros dois. Vou colocar outros dois. Então agora temos seis. Agora não vou colocar nada. Certo, tenho seis aqui. Então o resumo é seis porque eu envio para o usuário ou gelo e cadeia vazia, ele é alterado para um número. E então esse número é 0. Então, quebrou a regra. Então, vamos tentar novamente, mas vamos colocar uma corda. Então direi aqui 20 a 22, e depois colocarei uma corda. Então, convertendo uma string, definiremos para mim não um número. Então, ele quebrará o loop, e então eu terei 44. Então, embora isso seja verdade, ainda
verei o prompt, que é como fazer para mim o pop-up e estou recebendo, colocando o número até colocar o valor errado, ou eu obter, ou colocar um 0. Então, desta forma, o resumo será acumulado. Você também pode, você não precisa dizer log do console. Você pode imprimir o resumo. Portanto, você também tem um pop-up para o usuário porque o usuário não pode abrir o console. Assim, podemos ver como um pop-up, o final do resumo ou o final desse loop. Assim, podemos usar uma palavra-chave que está em JavaScript chamada alerta. Ele também mostrará um pop-up, mas apenas com uma mensagem como com ok, como você não precisa inserir nenhum valor, como temos com um prompt. Então eu vou colocar aqui, como podemos dizer, backticks, temos aqui de volta carrapatos. E vou colocar resumo é, e então vou colocar o valor da soma deles para que possamos ter aqui soma. Então, vamos salvar isso. Tentei novamente. Coloquei 22, 33, 44, e depois colocarei 0. E então recebi outro resumo rápido é 99. E então eu pressiono Ok, o aplicativo continua executando a sequência de código que está abaixo disso. Então, para isso, você tem que saber que quebrar o tempo quando está sempre terminado é muito importante. E também alcançamos e colocamos várias camadas de vida da equipe, como alerta e também alerta. E usamos a quebra para quebrar esse loop.
45. Por que precisamos de funções: Nesta seção, vamos falar sobre funções. Então, a primeira palestra desta seção é por que precisamos de funções? Silêncio, muitas vezes precisamos executar uma ação semelhante em muitos lugares do roteiro. Deixe-me mostrar um exemplo. Então, neste exemplo, quero mostrar o uso das funções. Então, se você assumir que está pedindo que
o usuário tenha que inserir a idade através do prompt, que vimos na seção anterior. Então eu vou ter a idade e depois vou fazer alguma lógica sobre ela. Então, quando a idade for menor que 60 anos e eu vou exibir duas mensagens, uma delas como azulejos, e ele não tem permissão para dirigir um carro. E também quando estiver entre 16 e menos de 18 anos, ele pode dirigir o carro com os pais. Também quando ele é como, por exemplo, maior ou podemos dizer aqui, como maior que 18, então vamos permitir que ele faça uma condução de carro e ele é um adulto. Então, em toda vez que estou exibindo duas mensagens para a mesma ou quatro string diferentes. Então, vamos tentar este exemplo agora, por exemplo, temos aqui entramos na idade, digamos novamente, ok, então insira sua idade. Então vou colocar aqui minha idade como 23. Certo. Você é adulto. Recebi a primeira mensagem, você tem permissão para dirigir um carro. Então, toda vez que atualizo a página, coloquei alguma idade e depois vou
receber mensagens com base na lógica que criei aqui. Mas, como você vê, temos muito como podemos dizer, código repetido. Assim, podemos fazer uma função que aguente para mim essas duas chamadas, como em uma. Então, dessa forma, usarei uma linha apenas para chamar essa função. E então usarei alertas ou alguns parâmetros onde
posso reduzir meu código e passá-los para sua função e exibir mensagens diferentes. Então, como podemos fazer isso? Vou igualar esse vídeo, é claro, vou explicar em detalhes sobre funções, mas vou mostrar por que precisamos delas. Então, como você vê aqui, defini uma função. Claro que veremos o contexto da função. A função está fazendo duas coisas, como alertas. Primeiro texto e alerta segundo texto. E então, em todas as comparações ou em todas as lógicas, estou chamando essa função. Então, antes de termos seis desses alertas, 121212, mas aqui agora temos apenas dois alertas e três chamadas, então reduzimos o código deles. Então imagine se você tivesse aqui muito código e lógica e você o está usando em muitos lugares. Portanto, definir uma função que está sendo executada em muitos lugares como esse código será executada em lugares diferentes melhor do que repetido em todos os lugares. É melhor criar uma função disso. Então, da mesma forma que fará por você, o mesmo trabalho. Portanto, teremos menos código e mais compreensível ou mais referência ao nosso código original, que será detalhado e envolvido em uma função. Nesta seção, falaremos detalhadamente sobre as funções,
como podemos usá-las, como definir parâmetros e
como chamamos
e criamos callbacks e os usamos de forma eficiente em JavaScript.
46. Acumulator de Numero: Ok, agora vamos ter um exemplo prático. Por exemplo disso, vou usar loop infinito. Certo, não fique chocado. Vou usar loop infinito, mas vou quebrá-lo de alguma forma. Então, o exemplo, vamos ter um acumulador de números. Então, vamos pedir ao usuário que coloque números até que ele pressione Cancelar ou ele pressionou ou coloque valor vazio, então esse loop será quebrado e mostraremos para ele esse resumo ou o valor acumulador dos números que ele inseriu antes. Então, vamos tentar isso agora. Primeiro de tudo, preciso de uma variável chamada soma. Então, essa soma, você pode nomear qualquer coisa. Então, ele começará a partir do euro e terá nosso valor de acumulação. Mas antes de ir mais detalhadamente, quero mostrar como posso obter um valor do usuário. Então, obtendo um valor do usuário, você pode dizer, por exemplo, deixar valor e você pode dar qualquer nome a ele. E estamos usando uma palavra-chave em JavaScript, que é chamada de prompt. E esse prompt exibirá no navegador alguns
pop-up e pedindo ao usuário para colocar algum valor. Então, qual é a mensagem que você deseja exibir para o usuário? Você pode colocar aqui qualquer string. Então, quero dizer como inserir o número ou inserir um número. E então o segundo parâmetro, será como por padrão,
uma string vazia, como se não tivéssemos uma string vazia. Então você pode colocá-lo como 0 ou como string vazia. E, em seguida, você pode registrar o valor inserido pelo usuário. Então, vamos tentar isso agora. E vou salvar, executar o aplicativo. Como você vê, esta página diz inserir um número. Então podemos colocar um número como cinco, 55. E eu chego aqui e o console de erro não é uma função, ok, temos que colocar o console apenas console.log. Então, salvamos novamente, executamos novamente nosso aplicativo. E vamos ver aqui, ok? E então vemos que o valor está impresso aqui, mas não é violeta, então é uma string como você vê aqui. Portanto, estamos recebendo deste prompt o número como uma string ou qualquer coisa como uma string. Então, aqui podemos alterar esse valor, como lançá-lo ou convertê-lo. Se você se lembra, colocamos antes um número como este, e estamos lançando esse valor. Então, depois disso, quando temos esse prompt? Posso colocar aqui 555 e consegui como um valor let, o
que indica às DevTools que este é um número. Existe outra maneira de converter dois números que você pode usar em vez de número e colocá-lo entre parênteses ou parênteses. Você pode usar um plus, o plus por trás do valor ou atrás de uma string. Converteremos esse número ou essa string em um número. Então, vamos tentar isso novamente. Vou colocar aqui um número e então, Ok, eu o tenho como um número. Mas se colocarmos, vamos dizer outra coisa. Como podemos colocar string, string normal de letras e não obteremos nenhuma, não um número como você vê aqui. Então, vamos fazer nosso exemplo. Então eu tenho aqui um resumo e vou definir um loop selvagem. E esse loop while é sempre verdadeiro. Então, teremos um loop infinito dentro, mas vamos quebrá-lo de alguma forma. Então, antes de tudo, vou obter o valor do usuário. Então vou dizer aqui o valor, e então estou recebendo esse valor. E precisamos alterar esse valor, que é retornado do, como o usuário para um número. Então eu coloquei um plus aqui. É exatamente como fizemos antes daqui. Como se tivéssemos o valor como uma string e o mudamos para um número. Mas você pode colocar aqui o plus diretamente. Então, depois disso, vamos verificar se o valor não é nenhum. E se o valor não for uma string vazia. E se o valor, por exemplo, indefinido quando o usuário estiver pressionando Cancelar, então vamos quebrar isso enquanto. E então estamos exibindo o valor do acumulador, eles usam? Então aqui eu vou ter um if e este se primeiro estamos verificando esse valor se não for nenhum ou não. Portanto, tenha cuidado para não colocar o valor igual a nenhum. Como se não conseguirmos isso. Sempre se tornou, estão chegando como um falso. Então, se você se lembra, tivemos um comentário que é chamado de facilidade nenhum, e então eu coloquei o valor dentro dele. Portanto, isso retornará verdadeiro ou falso quando esse valor não for um número. Além disso, podemos usar ou gostar de ter mais condições, como o valor quando o usuário, por exemplo, colocar 0, por exemplo. Porque se você se lembrar, dissemos que quando estamos convertendo uma string vazia em um número, ela retornará para nós 0. Então, quando o usuário não colocar nada, ele retornará para nós 0. Ok, Agora, quando isso, uma dessas condições é verdadeira, como se não fosse um número e o valor é 0. Então vou dizer quebra, quebrar esse loop e sair dele e depois fazer o resumo. Então, se isso for verdade, ele sairá do loop. Mas quando não for verdade, vamos pular esta parte e então vamos ter resumo
é igual ao resumo anterior que tínhamos antes no loop antes, como quando eu recebo o primeiro prompt e o segundo prompt ou segundo pop-up, então estou resumindo, acumulando os valores que são inseridos pelo usuário. Então vou dizer aqui, acumular valor para mim. Portanto, o resumo é todo resumo mais o valor. E então, no final, podemos fora do loop, como você vê aqui, enquanto e fora do tempo, posso consolar registrar o resumo ou o valor da soma, valor
acumulado, que vem do usuário, que ele importa os valores do navegador. Então, vamos salvar isso. Experimente aqui. Certo, está me pedindo para inserir um número. Vou colocar dois. Coloquei outros dois. Vou colocar outros dois. Então agora temos seis. Agora não vou colocar nada. Certo, tenho seis aqui. Portanto, o resumo é seis porque eu enviei para o usuário ou não é uma string vazia, ele é alterado para um número. E então esse número é 0. Então, quebrou a regra. Então, vamos tentar novamente. Mas vamos colocar uma corda. Então direi aqui 20 a 22, e depois colocarei uma corda. Então, convertendo uma string, definiremos para mim não um número. Então, ele quebrará o loop, e então eu terei 44. Então, embora isso seja verdade, eu ainda verei o prompt, que é como fazer para mim o pop-up e eu estou recebendo, colocando o número até colocar o valor errado ou obter, ou colocar um 0. Então, como o resumo será acumulado. Você também pode, você não precisa dizer log do console. Você pode imprimir o resumo. Portanto, você também tem um pop-up para o usuário porque o usuário não pode abrir o console. Assim, podemos ver como um pop-up, o final do resumo ou o final desse loop. Assim, podemos usar uma palavra-chave que está em JavaScript chamada alerta. Ele também mostrará um pop-up, mas apenas com uma mensagem como, ok, como se você não tivesse que inserir nenhum valor, como temos com um prompt. Então vou colocar aqui, como podemos dizer backticks, temos aqui backticks. E vou colocar resumo é, e então vou colocar o valor da soma deles para que possamos ter aqui soma. Então, vamos salvar isso. Tentei novamente, coloquei 22, 33, 44, e depois colocarei 0. E então recebi outro resumo rápido é 99. E então eu pressiono Ok, o aplicativo continua executando a sequência de código que está abaixo disso. Então, para isso, você tem que saber que quebrar o tempo quando está sempre terminado é muito importante. E também alcançamos e colocamos vários estilos em camadas, como prompt e também alerta. E usamos a quebra para quebrar esse loop.
47. Noções básicas de função: Definir uma função é muito fácil. Podemos usar a palavra-chave chamada de função. Assim, com a palavra-chave function, você pode definir uma função e dar a ela qualquer nome com base nas variáveis de nomenclatura que tínhamos antes. Então, por exemplo, terei uma função chamada mensagem SHO. E então você tem que colocar parênteses. E esses parênteses, você terá parâmetros dentro deles. Falaremos sobre isso mais tarde. E então o contexto do casaco dessa função estará entre esses colchetes encaracolados. Então, desta forma, teremos dentro das instruções que vimos antes, como colocamos algum código dentro se ou dentro for loop ou um loop while. Então eu posso dizer, por exemplo, log
do console para mim uma mensagem, eu sou uma função. E você também pode adicionar outra coisa, como, por exemplo, alerta, mensagem de alerta ao usuário. Posso dizer que sou uma função de alerta. Então, temos aqui como dois comentários dentro dessa função, ok, quando executo meu código JavaScript, não
vejo nada. Mesmo no console. Não há nada. Então, temos i1 para executar esse código, preciso chamar uma função. Preciso chamar essa função que escrevi. Então, como podemos chamar essa função? Primeiro de tudo, você precisa ter um nome da função, que é mensagem SHO. E então, quando você quiser chamá-lo, você tem que colocar esses parênteses. E então isso exigirá para você alguns parâmetros, como veremos mais tarde. Então, na verdade, o alerta é uma função porque estou chamando essa função aqui com uma mensagem. Também console.log. O log é uma função porque estou chamando essa função com esses parâmetros de parênteses. Nossa função não tem nenhum parâmetro, então estamos chamando isso assim. Vamos salvar novamente nosso aplicativo. E veremos que sou uma função de alerta, o alerta executado e tenho um código ou uma string dentro do log do console. Então, dessa forma, chamo uma função. Esta é uma declaração básica. Veremos na próxima palestra coisas mais complicadas usando parâmetros e também definindo as funções de maneiras diferentes.
48. Parâmetros de função: Para cada função, você pode adicionar alguns parâmetros, como eu disse antes. Por exemplo, posso definir uma variável entre esses parênteses, que será chamada de parâmetro, e você pode dar a ela qualquer nome que quiser. Então, por exemplo, eu estava dizendo mensagem. Portanto, a mensagem na chamada da função será substituída por algo que você vai chamar. E também você está usando essa variável de mensagem dentro de sua função. Somente você pode usá-lo, você não pode usá-lo em qualquer lugar fora. Então, dessa forma, posso dizer essa mensagem SHO e, em seguida, posso colocar aqui o log do console para mim, como podemos dizer aqui, ticks de volta, como a mensagem em chefe é. E colocamos aqui como um contexto valioso e chamaremos a mensagem de valiosa. Então, dessa forma, quando chamo a mensagem SHO da função, posso passar qualquer string que eu quiser. Por exemplo, posso dizer que sou parâmetro. Então, desta forma, veremos o log do console Eu sou alerta de função e também sou função de alerta. E então verei um log de console, a mensagem passada é pentameter
iâmbico porque eu chamei o parâmetro de mensagem SHO, que é chamado de mensagem, e usei aqui. Então, vamos tentar isso. Ok, sou função de alerta. Também entrei no registro do console. Vamos pressionar Ok. A mensagem anterior é eu um parâmetro. Então, dessa forma, é muito bom que eu possa ter uma função dinâmica. Eu posso, posso chamar essa função várias vezes, mas com objetivo diferente. Então, por exemplo, eu diria que ele ligou para um. E aqui direi o Objetivo 2. E eu sou parâmetro e, por exemplo, eu sou, você não pode colocar seu nome, por exemplo. Então, dessa forma, estou chamando essa função várias vezes, mas com uma mensagem diferente, então ela será substituída aqui. Então, vamos tentar isso. Ok, sou função de alerta. Este é o primeiro objetivo, aliás. E eu sou função de alerta, é um segundo objetivo da mensagem. Então, temos a mensagem passada é ouro, eu sou parâmetro. E então eu consegui que sou função de alerta. E então eu consegui o segundo gol. Então, para explicar mais, vamos remover essas coisas. Então, aqui, como registrar o console ou comentá-los. Registro do console, sou uma função de alerta de função do alerta. Vamos removê-los. Então agora vou chamar apenas o log do console com essa string. Então, dessa forma, vou para a mensagem passada é o objetivo 1 e o objetivo 2 porque liguei duas vezes com parâmetros diferentes. Então, por mais que você quiser, você pode chamar essa função e alterar esses parâmetros dentro. E você terá exatamente o mesmo comportamento, mas com uma string diferente porque estamos substituindo a mensagem de string pelo valor que é passado com o parâmetro function. Então, como você vê aqui, estamos chamando todos eles.
49. Valores de parâmetros padrão: Então, vimos na palestra anterior que podemos passar parâmetros para funções. E esse parâmetro pode ser chamado e ele será substituído pelo valor do parâmetro que é passado na chamada da função. Ok, vamos supor que eu não estou passando nenhum parâmetro. Então agora vou chamar a mensagem shore sem a mensagem do parâmetro. Então eu removi tudo entre esses parênteses. Então, quando eu tento chamar essa função sem esse parâmetro, vamos tentar isso. Vou ver que a mensagem passada é indefinida. Portanto, o valor
da mensagem, o valor do parâmetro de mensagem, é indefinido porque eu não passei nenhum parâmetro aqui. É claro que, com JavaScript ou com JavaScript moderno, você pode ter um valor padrão para essa mensagem quando não houver nenhum parâmetro anterior aqui. Então, para fazer isso, eu posso simplesmente definir igual aqui. E posso dizer mensagem padrão. Portanto, essa mensagem padrão será um valor padrão para o parâmetro message e ela será substituída aqui. Então, nesse caso, quando eu não passar nenhum parâmetro, receberei uma mensagem padrão em steed de valor indefinido, como você vê aqui. Então, agora, quando passo um valor para esta mensagem ou para a chamada da função, posso dizer, por exemplo, sou show function. Então a mensagem, a mensagem passada é que tenho certeza de função. Então, vamos atualizar isso. E você verá que o valor padrão foi ignorado. Está tomando a meta ou o valor que vem pela chamada. Portanto, nesse caso, esse parâmetro gone tem mais periodicidade do que a mensagem ou o valor padrão aqui. Portanto, nesse caso, você sempre pode passar uma mensagem padrão ou o parâmetro padrão sem ter o valor indefinido do parâmetro quando chamamos a função sem parâmetros.
50. Retornando um valor da função: O uso mais importante para as funções é fazer algum cálculo ou fazer algumas operações e retornar alguns valores. Então, quando você passar algum parâmetro, você pode fazer algumas operações neles. Vamos ter uma função muito simples que podemos chamar como alguma operação. Então, alguma função ou alguma operação. Então, definirei uma função como vimos antes. Vamos chamá-lo de soma. E essa soma terá dois parâmetros. Um é x e o outro é y. E então esta operação ou esta função, calculará o resumo de x e y. E então eu posso usá-lo em qualquer lugar no meu código sem dizer sempre X e Y, X mais Y, X mais Y em todo lugar. Então, dessa forma, você pode usar essa função para calcular qualquer coisa para você. Claro, estou tendo aqui um exemplo muito simples. É claro que existem muitas, muitas, muitas funções complicadas que elas podem fazer muito trabalho para você, especialmente se você estiver ligando para elas várias vezes em seu código. Então eu direi aqui com a palavra-chave return, então X mais Y. Então, dessa forma, vou retornar da soma X e Y, X mais Y. Então vou retornar x mais y. Então, podemos usar essa função definindo uma variável. Podemos dizer zed e esse zed, ele vai chamar essa função porque ela tem um valor de retorno. Então, antes disso, podemos fazer, por exemplo, uma chamada diretamente para a soma. Então eu tenho, eu digo aqui alguns, e então eu dou dois números porque aqui eu tenho dois parâmetros. Posso dizer cinco mais 10. Certo? Então agora eu tenho uma soma de 5 mais 10. Então, dessa forma, quando executo meu aplicativo, ok, eu não tenho nada e não estou usando realmente a função. Portanto, a função está retornando algum valor. Então, esse valor, eu tenho que saber, então eu tenho que usá-lo em algum lugar do meu código. Então, é claro, o valor de varejo será 15, para que eu possa armazená-lo em alguma variável. Posso dizer aqui, deixe zed, por exemplo, e ele chamará a função e o retorno será atribuído a Z. Então, para ter certeza, também
podemos usar um log de console para ver o valor da dívida. Então, vamos salvar, atualizar e veremos que temos 15. Portanto, o valor de Z é 15 depois de resumir esses dois valores, então soma chamada essa função e, em seguida, a função retorna, esse valor com a palavra-chave
return pode retornar os valores após as operações nos parâmetros. Claro, você não pode devolver nada. Você pode dizer. Você pode combiná-lo com uma string. Você pode combinar tudo o que pode fazer um booleano ou qualquer coisa. Então você também pode ter outra função. Podemos chamá-lo de maior que. Então vou dizer aqui função. E essa função será chamada de maior do que exatamente da mesma forma de nomenclatura. Portanto, a nomeação de variáveis é sempre seguida também com as funções. Então eu estou usando aqui esse CamelCase. Então, dessa forma, terei aqui x e y. Além disso, podemos ter aqui os colchetes e eu era um ano de retorno x maior que y. Então terei em troca booleano, como o valor booleano. Pode ser verdadeiro ou falso porque estou retornando como essa lógica de condição. Então vamos chamar essa função em z. e vamos ver, ok, é falso porque cinco não é maior que 10. Então, dessa forma, você pode usar as funções, e eu posso usar essa função em qualquer lugar do meu código várias vezes com base em minhas necessidades.
51. Funções de nomes: Funções são ações, então seu nome geralmente é um verbo. Deve ser breve, preciso quanto possível e descrever o que a função faz para que alguém possa ler o código e obter a indicação do que essa função faz. Então, normalmente, prefixamos que são funções com algum verbo que expressam o que ele vai fazer essa função, por exemplo, posso dizer mostrar alguns ou calcular alguns, verificar alguma coisa. Claro, claro, goste de algum objeto ou crie um objeto. Assim, você pode usar algumas variáveis ou alguns verbos como um começo de cada função. Então, vou mostrar alguns exemplos como como tínhamos antes. Então, essas funções, que eu tenho aqui, eu as copiei. Então eu tenho aqui mostrar mensagem, ela mostra uma mensagem, ganha idade, então ela retorna a idade de uma pessoa parecida. Também CalcSum, é calcular algum resumo de objetos de valor. Então você não precisa chamá-lo como alguns em mim, mas você pode dizer calc sum. Desta forma. O outro desenvolvedor entenderá como, Ok, essa função está calculando algumas variáveis. Além disso, crie formulário, verifique a permissão. Então, todas essas coisas devem ser seguidas quando você está nomeando uma função. E como eu te disse antes, você pode nomeá-los usando a caixa de camelo. Então você tem letra maiúscula de cada palavra nesta frase. Claro, você tem limitação de NOL
ilimitada ou semelhante por quanto tempo o nome da função. Mas é melhor ser curto e preciso o máximo possível.
52. Expressões de função: Em JavaScript, há também outro imposto científico para definir uma função. Então, vou colocar isso nos comentários não têm erros. E vou criar uma função. Então, esta função, podemos chamá-la de dizer olá. Portanto, a função que define essa função, você não precisa usar uma função de palavra-chave e, em seguida, fornecer o nome e os parâmetros. Você pode definir uma função como uma variável. Então eu diria aqui talvez deixe, pode dar o nome da função como dizer olá. E então é igual a. E então você pode dizer que eu tenho uma função ou essa variável será uma função. E então você pode definir o código que deseja de lado. Então, para isso, você pode dizer alerta. Por exemplo, podemos dizer olá, JavaScript. Então, dessa forma, quando eu chamo essa função, é exatamente da mesma forma como estamos chamando as funções normalmente. Então vou dizer aqui, depois disso, diga olá, e vou chamá-lo assim com os parênteses. Exatamente da mesma forma como estamos chamando funções normais. E também os parâmetros virão aqui. Você também pode passar parâmetros para esses valores. Assim, podemos também chamá-lo para que possamos testá-lo. Então, dizemos olá JavaScript, e ele é chamado imediatamente. Então, quando eu não chamo isso e tenho essa variável, então nada é chamado. Portanto, a variável realmente é alterada para ser uma função, é escritura de uma variável. Portanto, ele não tem como um tipo, como um número ou uma string, ele tem um tipo de função. Mas vamos, por exemplo, como se tivéssemos que registrar essa função ou essa variável no console. Como podemos dizer, diga olá, o que teremos no console? Então, vamos. Oi de novo. Você vê que temos o código da função. Não tínhamos o objetivo da função. Nós não tínhamos exatamente a mesma frase que tínhamos no pop-up aqui no prompt. Mas quando você chama a função, vamos ver o que acontecerá. Temos a função e temos indefinida. Dessa forma, porque essa função não está retornando nada. Portanto, essa é uma diferença entre chamar a função ou apenas dizer o nome da função. Assim, dessa forma, podemos colocar no conteúdo da função, como no log do console, podemos chamá-lo. E ficaremos indefinidos quando essa função não tiver nenhum valor de retorno. Mas olhe, por exemplo, giro de marfim por algum
retorno, retorne de digamos, olá função. Então podemos ver que, tudo bem, ele será chamado. Teremos o alerta e, em seguida, teremos no registro do console o retorno, o retorno de dizer olá. Vamos escrever isso. Como você vê aqui, não ficamos indefinidos porque essa função está retornando um valor. Quando removo esses parênteses, novamente, obtive o código da função impresso. Portanto, essa é uma diferença entre chamar uma função e definir uma função ou chamar a função sem nenhum parêntese. Então, obtemos o código da função. E também aqui está uma maneira de definir uma função sem ter essa sintaxe. Portanto, isso é chamado de declaração de função, e também é declaração de função, mas também é chamado de expressões de funções.
53. Funções arrow: No JavaScript moderno, há uma maneira ainda mais fácil de ter ou definir uma função. Então, como vimos antes, definimos uma variável e damos a ela um nome como uma função, e então temos o conteúdo dessa função. Então, vamos ver o outro lado. A outra forma é chamada de funções de linha. Então, o básico disso podemos dizer definir uma função. Podemos dizer, dizer oi, e com isso dizer alto, não será uma função como essa. Assim, podemos simplesmente definir o parêntese e não estamos usando a palavra-chave function. E então você desenha uma flecha. Como você desenha uma flecha, você pode dizer igual e maior que. Então, desta forma, você tem a função de
seta e o conteúdo da função estará entre as chaves. Então, dessa forma, posso dizer oi diretamente. Vou dizer aqui console.log e depois dizer, ou direi que tenho string, diga oi. Então, depois disso, você pode chamar essa função normalmente, como qualquer função. Então, chamamos isso aqui. E então, ok, diga oi, a função é chamada. Portanto, essa é uma maneira de definir as funções de seta. Claro que você também pode passar parâmetros. Então diga oi, e podemos dizer o nome. E esse nome, você também pode passá-lo aqui. Então, vou substituir isso por backticks. E então podemos ter aqui dizer oi para. E então colocamos a variável aqui. Então diga oi, e depois colocamos o nome. Então aqui vou colocar aqui script java. Portanto, na chamada, ele substituirá o parâmetro
name esse parâmetro dentro desse log do console. Então, quando eu chamo essa função, eu disse : Diga oi para JavaScript e é um parâmetro que eu rebento e é substituído aqui. Então, dessa forma, você também pode definir uma função. E a maioria das pessoas está usando isso hoje em dia. Então, também, quando você define uma variável, você pode copiar a função. Então eu posso dizer oi para, por exemplo, ou dizer oi, copiar. Como podemos definir uma chamada de função, é uma cópia alta e será dizer oi, diga oi. Então, quando eu ligar, digamos Copiar, copiarei exatamente o mesmo conteúdo dessa função. Então, dessa forma, você pode ter um nome diferente da função, mas o mesmo conteúdo de outra função. Então, com isso, posso dizer aqui também JavaScript. Então eu vou tê-lo duas vezes, um da função original e o segundo da cópia sua função. Assim, você pode atribuir função à função, que eles tenham o mesmo comportamento e o mesmo valor de retorno também. Então, vamos remover essas chamadas. Vou ter como uma função que está retornando diretamente um valor. Então, é claro que você pode retornar um valor como vimos antes. Por exemplo, eu tenho que ter um pouco, pegar alguns e depois, ou como podemos dizer obter o dobro. E então com isso ficar em
dobro, terei uma função. E essa função, passarei como algum número, e esse número será retornado, ou essa função retornará para mim, então o número multiplicado por dois, como se eu estivesse recebendo o dobro desse número. Então agora vou verificar essa função. Vou passar um número como quatro. E, em seguida, podemos registrá-lo no console. Então eu posso dizer aqui console dot log esta função diretamente, essa chamada dessa função. Então ele retornará para mim 8. Então, como você vê aqui, temos oito. Então, dessa forma, ok, eu retorno um valor e uso essa função para que
possamos também com o JavaScript moderno para nos livrar desse retorno. Como se você pode retornar um valor se seu exemplo ou sua função estiver retornando, ou se estiver consistindo em uma linha. Então, dessa forma, você não precisa de nenhum desses aparelhos curvos. Você só precisa ter como uma função de linha. E então você tem o valor de retorno sem a palavra-chave retornar. Então, porque essa nossa função, descobri que ela está retornando apenas ou tem apenas uma linha. Ele não tem várias linhas. Algumas funções, elas têm, fazem mais operações, têm várias linhas. Então, dessa forma, você é forçado a usar esses lugares curvos. E você também tem que colocar o retorno como palavra-chave também. Se você precisar de uma devolução. Mas com uma função de linha, é melhor tê-la assim. Então, melhor do que todas essas linhas. Você pode ter tudo em uma linha. Então, como você vê aqui, estou consolando e registrando essa função com algum valor que é passado no parâmetro. Então, obterei exatamente o mesmo valor. Então, dessa forma, você pode definir a função de forma mais fácil e simples na sequência do seu código.
54. Fechamentos e escopo de funções: Em JavaScript, há um conceito que é chamado fechamento ou função ou escopo de bloco. Então, o que isso significa? Então, por exemplo, vamos supor que temos uma função chamada Mostrar texto. E dentro dessa função, estou definindo uma variável chamada de texto. Então, se eu tiver aqui algum objetivo dessa função ou uso dessa variável. Então, isso estará disponível, a variável estará disponível enquanto estiver dentro da função,
porque eu defino essa variável dentro da função. Mas quando eu uso a variável fora dessa função, receberei um erro de que essa variável não está definida porque ela está definida aqui dentro do escopo dessa função e ela não está disponível fora. Portanto, uma variável que é declarada dentro de uma função só é visível dentro dessa função,
portanto, não podemos vê-la fora dessa função. Isso é chamado de variável local. Uma variável local dentro dessa função. Vamos tentar esse código. Como você vê, eu recebi um erro. O texto não é definido porque essa variável nessa linha não está definida. Como você vê aqui, o texto de alerta é definido dentro da função, então qualquer pessoa de fora não pode vê-lo. Então, dessa forma, você tem que distinguir sempre entre variáveis locais e variável externa. Vamos definir uma variável externa. Então vou dizer que você deixa o nome de usuário, por exemplo, e eu darei um nome a ele, John Smith ou apenas John. Então, dessa forma, posso usar, é claro, a variável externa dentro de uma função. Então, podemos usar isso. Não, qualquer problema com. Então, quando eu removo, por exemplo, esse JavaScript de íons, eu coloco mais como eu quero combinar essa função ou esse texto com alguma variável, então essa variável estará disponível dentro dessa função. Portanto, não receberei esse erro. E eu recebi um alerta quando eu chamá-lo. Vamos tentar isso. Ok, ainda temos o erro porque temos esse erro aqui, então vou ignorá-lo, comentou. Ok, como você vê, o código foi executado porque eu preciso chamá-lo dessa forma eu tenho dizendo mensagem SHO. Então eu estava chamando função diferente. Preciso chamar o texto do show. Então, quando tentamos, Ok, olá, eu sou Joan, e Joan é uma variável definida fora dessa função. Então, dessa forma, posso usar a variável dentro de qualquer função quando ela for pública. Mas quando a variável está dentro da função, não
posso usá-la em qualquer lugar fora dela ou do escopo dessa função. E esses tipos de variáveis que são definidas na sequência do arquivo JavaScript. Eles são chamados globais, como se não estivessem definidos dentro de nenhum escopo. Portanto, essa é uma variável global. Todo o aplicativo ou todo
o aplicativo JavaScript funciona ou outras variáveis que outros arquivos podem acessar a essa variável. Mas aqui, como uma função ou esse texto não está acessível do lado de fora. Então, é chamado de variável local.
55. Expressões de função de função invocada Imediata (IIFE): Então, antes de vermos que estamos chamando a função
chamando seu nome de novo e de novo toda vez que eu preciso chamá-lo. Portanto, há uma maneira de chamar a função imediatamente, que é chamada como a expressão de função imediatamente chamada IIFE,
que é uma função JavaScript que é executada assim que é definida. Portanto, não precisamos repetir a sequência dessa chamada dessa função, como o nome dessa função se quisermos nomeá-la ou chamá-la diretamente. Então, a onda para fazer isso, só
precisamos remover essa chamada. E então você tem que cercar essa função totalmente com parênteses. Então eu tenho aqui o parêntese aberto, e depois vou fechá-lo. E então você chama essa função imediatamente porque, como eu disse, chamamos uma função com parênteses sem eles, estamos apenas imprimindo o contexto da função. Então, depois disso, economizamos, fazemos isso. Como você vê diretamente, é chamado como definido e frio. Então, se você estiver definindo uma função e está chamando diretamente, você não precisa nem do nome para isso. Então você pode usá-lo e chamá-lo imediatamente somente se você estiver chamando em outro lugar, então tudo bem. Você não pode dar o nome. Assim, você também pode se livrar do nome se você
for chamar a função imediatamente e apenas uma vez. Então isso é chamado de expressão de função invocada imediatamente.
56. Backs de chamadas em funções: Nesta palestra, vamos falar sobre callbacks de função ou funções de retorno de chamada. Mas antes que eu queira adicionar para você mais recurso sobre a interação JavaScript com o usuário que vimos antes, alerta e também prompt. Isso também é algo chamado Confirmar. Então, com essa confirmação, você pode exibir uma mensagem para o usuário, JavaScript perguntando se está tudo bem ou não. Então você pode ter, por exemplo, Ru, como por exemplo, tudo o que podemos dizer assim. Então, quando você chama esse método, ok, temos esse prompt porque o chamamos antes. E agora, você está velho? Chegamos aqui bem. E cancele. Então, dessa forma, você pode dizer: Ok, então esse método de confirmação ou função de confirmação retornará para você, e quando for cancelado, ele retornará para você falso. Assim, podemos usar essa função e exemplo ou como exemplo em nossas funções de retorno de chamada. Então, vamos lá. Então, antes de tudo, quero definir uma função. Então, função, dirá como o nome dele, faça questão. Portanto, essa pergunta será como sim ou não. Então eu vou ter aqui essa pergunta por si só como um parâmetro. E então vamos ter essa função diretamente. E vamos perguntar ao usuário como alguns,
como a pergunta em si. Então podemos dizer aqui como let variável, como podemos dizer resposta, e essa resposta retornará ou obteríamos o valor da mensagem de confirmação, que aparecerá no navegador e o usuário pressionará OK ou Cancelar. Então, a última pergunta será a pergunta como um parâmetro que temos aqui, que será passado para a chamada de função, e então obteremos uma resposta. Então, depois disso, você pode dizer como se responder, como se ele respondeu órbita ou vamos dar um nome como é. Certo. Certo. Então, podemos ter tudo bem. Então, se ele pressionou Ok, então vamos fazer outra coisa. Vamos fazer outra coisa. Então, vamos ter um registro de console aqui como poeira. Posso dizer que usamos você. Concordo. Ou podemos substituí-lo por alerta também. Assim, podemos ter aqui alerta é escritura, e também teremos outro alerta. Dizemos que você cancelou a execução. Então, dessa forma, quando eu chamo essa função com alguma pergunta específica, direi aqui, você está velho? Então? Teremos primeiro a nossa mensagem que antes. E então você está velho? Então, quando eu pressionar Ok, vou colocar nosso olho, você concordará porque eu pressionei OK. Vamos atualizar novamente e pressionaremos Cancelar. Então você cancela a execução. Ok, agora, se eu quiser ter tipo, como imaginar que estou passando outro parâmetro que será uma chamada de função. Então, isso para mim é valioso, então eu uso essa variável dentro do código. Certo, bom. Então, quando digo aqui como sim, como parâmetro é uma variável. E também defino outra variável chamada Não. Bom. Então, quando digo aqui, em vez de sim, ou em vez dessa mensagem de alerta, coloquei sim e coloco parênteses depois dela. Então eu tenho que esperar
dos parâmetros dessa função que o S também seja uma função. Então, dessa forma, estou dizendo que esse parâmetro também é uma chamada de função. Não. Então, temos aqui Não também. Portanto, esses callbacks serão executados com base na sequência da função. Mas onde essas funções são definidas? Se você se lembra, esses são parâmetros. Então eu preciso ter aqui também parâmetros que são função. Então, dessa forma, essas funções são inúteis. Eles não têm nenhum código dentro deles. Somente quando eu passar esses parâmetros. Porque se você se lembrar, eu disse que essa string será substituída por pergunta e ela
será usada na função dentro dela como a pergunta do parâmetro. O mesmo vale para o parâmetro de função. Então, preciso definir duas funções. Então, vamos defini-los rapidamente. Então vou dizer aqui que tenho duas funções. Uma função é chamada shore, ok, e outra é chamada Mostrar cancelamento. Então, agora vamos passar esses parâmetros ou essas funções para os parâmetros dessa função. Então direi aqui, o primeiro parâmetro será sim. Então, quando sim, direi, claro, ok. Quando não for, direi Mostrar, cancelar. Então, dessa forma, esse sim será substituído por show, ok? E então ele será executado. Então esse é o caminho, lembre-se de que estamos passando apenas a função. Não estamos passando a chamada da função. Como você vê aqui. Eu não tenho aqui parantese. É por isso que, porque estou passando essa função para ser substituída aqui. E então ele será chamado diretamente. É como se eu estivesse fazendo aqui, como mostrar tudo bem, em qualquer lugar aqui diretamente. Portanto, esta é a função de retorno de chamada. Esta é uma função de retorno de chamada e esta é uma função de retorno de chamada. Assim, você pode usar ou andar com suas funções de retorno de chamada facilmente. Nós os veremos em muitos lugares no futuro quando vamos fazer projetos reais ou em outros cursos meus que estou fazendo projetos do mundo real. Então você pode ver que estamos usando os sacos de ouro pesadamente, especialmente das bibliotecas, especialmente se eu estiver usando uma biblioteca. E esta biblioteca tem muitas funções que estão tendo alguns parâmetros semelhantes como retornos de chamada. Então, em JavaScript, você precisa considerar também a variável ou o parâmetro pode ser variável normal, todas as funções também.
57. Sintaxe de objetos: Nas palestras anteriores, aprendemos que podemos definir vários tipos de variáveis. E essas variáveis, elas podem ser string ou um número, ou um booleano ou qualquer outro tipo que vimos antes. Então, essas divs ou essas variáveis, nós as chamamos de primitivas porque o valor continha apenas uma única coisa, seja por exemplo, uma string ou um número ou o que quer que seja. Mas hoje vamos falar sobre um novo tipo, tipo chamado objeto. E esse objeto pode conter várias dessas divs, que mencionei antes. E com esse objeto, você pode lidar com ele vários dados em uma variável. Como se eu estivesse colocando todas essas informações em uma variável. Então, como podemos definir um objeto? Vamos definir um objeto que é chamado de pessoa. Então, para definir o objeto, temos que usar as chaves ou os colchetes encaracolados. Então, dessa forma, dentro desse objeto, você pode definir as chaves. Chaves desse objeto que conterão vários valores. Como se pode dizer aqui que temos um nome. Nós também temos
idade, e também temos é casado. Mas é claro que a sintaxe não é assim. Vou explicar mais. Então podemos imaginar que o objeto é um gabinete, um gabinete com ensaios senoidal. Cada pedaço de dados é armazenado em seu arquivo por essa chave. Então, quando eu quiser abrir este gabinete e encontrar um arquivo, posso dizer, me dê o arquivo que tem chave chamada idade. E então abri o arquivo e depois verifico esse valor. Exatamente como esse objeto. Este objeto é um gabinete que contém várias chaves. Quero a chave do nome ou Q1 ou Q2. Eu pego o arquivo e depois verifico o que está dentro dele, vou encontrar um valor. Esse valor pode ser uma string ou um número, ou um booleano ou qualquer outro valor. Assim, podemos definir um objeto vazio fazendo exatamente isso. Portanto, essa pessoa é objeto vazio. Tudo o que você pode dizer também, não assim, mas você pode dizer novo objeto dessa maneira. Então esse objeto agora está vazio, mas precisamos atribuir alguns valores a ele. E isso o que veremos na próxima palestra.
58. Propriedades de objetos: Depois de pegar um arquivo, nós o definimos por chave. Como eu disse, podemos chamar isso em JavaScript como propriedades. Assim, você pode definir propriedades diretamente em um objeto usando como algumas palavras-chave ou a chave que você deseja atribuir. Para o exemplo que temos aqui, podemos dizer que temos nome e podemos, com dois pontos, definir um valor ou atribuir um valor a essa chave ou a esse arquivo. Não usamos sinal de igualdade, mas usamos a coluna. A atribuição do valor da propriedade do objeto é feita assim. Então, por exemplo, vou dar um nome aqui, então vou colocar aqui meu nome. E também tenho uma chave que é chamada como se eu
pudesse dar minha idade e também posso dar meu status. Então, se eu sou casado ou não, então posso colocar aqui falso ou verdadeiro. Portanto, isso é objeto, e posso usar esse objeto agora em qualquer lugar do meu aplicativo como uma variável. Então, também posso fazer um log de console para ele. Então, quando você fizer um log de console para um objeto, você obterá o seguinte. Então, quando eu salvar, irei para a luz, para o navegador e, em seguida, abrirei o DevTools com F2. E verei aqui que tenho um objeto e esse objeto contém idade, é casado e nome. E também podemos acessar apenas algumas propriedades específicas. Então, eu quero consolar o registro dessa idade dessa pessoa. Então eu posso separar a pessoa com um ponto para que eu possa colocar ponto. E então eu preencheria automaticamente essas opções, como se fosse uma propriedade desse objeto. Então, temos idade, é casado e nome. Então, quando eu coloco a idade e estou no console, registre-o. Então, vou obter o valor aqui. Então, é como se eu definisse uma variável apenas uma idade valiosa, e eu a estou usando em objeto, não como uma única variável, então não há necessidade disso, e nosso código ainda funcionará. Além disso, podemos adicionar propriedades, não a inicialização do objeto. Então aqui eu tenho a variável e o nome da variável e, em seguida, o sinal do objeto e eu tenho a chave e o valor. Mas também posso fazer como atribuir diretamente uma chave com um valor a esse objeto. Então eu não posso dizer aqui pessoa, e então eu coloco ponto. Ok, cheguei aqui é nome de casado, mas não entendo, por exemplo, nada mais que eu queira. Então, por exemplo, você pode adicionar essa propriedade para você. Então posso dizer que é administrador, por exemplo. Então eu posso ter aqui é administrador e eu coloquei como um falso. Então, agora vamos tentar gostar do console registrar essa pessoa. Então, quando pressiono Salvar e novamente, carregar
novamente, verei que o admin é adicionado a essas propriedades. É exatamente como eu fiz aqui. Como por exemplo, eu adicionei o admin e fiz falso. Então, é exatamente da mesma forma, então eu também posso excluir isso. E então obterei o mesmo resultado. Portanto, existem várias maneiras de adicionar propriedades ao objeto. Um deles é como adicionar diretamente essa chave e um valor. E o segundo, chamamos essa propriedade ou esse operador como notação de pontos. Portanto, estou tendo uma notação de ponto no objeto para acessar suas propriedades.
59. Como remover propriedades de objetos: Depois de definir uma propriedade de objeto, podemos excluí-la facilmente usando a palavra-chave delete. Então, por exemplo, eu adicionei aqui é admin. Posso excluí-lo, com muita facilidade. Então eu só digo Excluir. E então eu digo pessoa ponto é administrador. Assim, dessa forma, ele pode ser excluído em, no log do console. Não o veremos mais depois de adicioná-lo. Então, vamos salvar, atualizar. E, como você vê, não temos o administrador aqui. Então, da forma como você pode adicionar propriedades ao objeto e também excluí-las totalmente.
60. Verificação da existência de imóveis e valores: Claro, depois de se tornar um desenvolvedor muito bom, você terá um código muito longo e definirá muitos objetos em seu projeto. E talvez de alguma forma você precise verificar se há alguma propriedade dentro do objeto ou não. Existem várias maneiras de ver se há uma parte ou uma chave no objeto. Então, por exemplo, eu diria aqui como, eu quero verificar se há uma propriedade na pessoa chamada sobrenome. Então, quando tentei consolar o log LastName, ficava indefinido porque não tenho essa propriedade. Claro que não recebemos nenhum erro aqui. Mas também, você pode verificar se há propriedade dentro do objeto usando um método após a notação de ponto, que é chamada tem propriedade própria e com propriedade própria, você pode dizer o nome da propriedade. Por exemplo, direi sobrenome. E com base nisso, você passará ou falsará. Certo. Ele não tem essa propriedade, mas vamos dizer que temos nome, por exemplo. Então, quando eu registro esse valor, pessoa adulta tem propriedade ou tem propriedade própria, eu tenho true. Então, dessa forma, você pode usá-lo se condições. Então você pode dizer que se uma pessoa tem uma propriedade, tem um nome, então podemos fazer como algo. Caso contrário, podemos adicioná-lo pode ser. Então, para isso, quando você estiver excluindo e adicionando propriedades a objetos durante a sequência de código, ou talvez em alguns loops for-ou, ou alguma fonte externa estiver atualizando seu objeto, então você precisa verificar se a propriedade está lá ou não. Então, dessa forma, você pode verificar isso. Há também outra maneira de verificar uma propriedade se ela estiver lá ou não dizendo com uma chave. Então podemos dizer como nome em ou temos que colocá-lo como em uma string para que possamos dizer o nome, e então dizemos pessoa. Então, se houver nome pessoalmente, então é que somos devolvidos para mim, é verdade. Portanto, não podemos ter certeza disso fazendo o seguinte. Então eu tenho aqui, como vamos colocá-lo de volta. Então, para guardar para você o exemplo, vou cair mais. Assim, podemos comentar este log do console. Então eu posso dizer aqui que tudo bem, Vamos existir. Então eu posso ter aqui como nome. Claro que você tem que colocá-lo dentro de uma tensão, como a chave deveria estar em uma corda como esta. O mesmo vale para tem propriedade própria. Devemos tê-lo em uma string com aspas simples ou aspas duplas. Isso não importa. Portanto, podemos dizer o nome pessoalmente
e, em seguida, consolamos o log da existência. Então, vamos tentar isso e ver se ficamos verdadeiros ou falsos. Então, quando nos atualizamos, ok, eu passei. Então, vamos colocar, por exemplo, sobrenome e atualizamos. É falso. Então, exatamente da mesma forma. Assim, tem todas as propriedades e chaves com a palavra-chave in e o nome do objeto. Você pode verificar se a chave ou uma propriedade existe nesse objeto ou não.
61. Prática de funções e objetos: Ok, se nos
lembrarmos, falamos sobre funções. Então, se você ver aqui que criamos uma pessoa fazendo isso. Então, se eu quiser criar outra pessoa, vamos dar um nome para isso como pessoa 1, então eu preciso ter a Pessoa 2. E então vou repetir novamente as mesmas propriedades. Podemos envolver isso em um método. Assim, podemos ter uma função ou um método que cria para mim uma pessoa até agora que podemos definir uma função. Então eu posso dizer const, podemos dizer, ou deixar, não importa. Deixe criar uma pessoa. E com isso cria pessoa, será uma função de seta. Com esta função de seta, ele terá parâmetro como nome, idade e também como é, Matt it. Então, com isso, podemos ver se isso é possível criar um usuário com uma função ou não. Então eu vou ter aqui conserto. Então, dentro desse método, direi aqui constante em nova pessoa. E essa nova pessoa terá propriedades. E a primeira propriedade é nome. E esse nome será como o nome que eu atribuí. Eu passei nos parâmetros idade e posso ter uma idade como essa e sou casado. Eu posso tê-lo também é emaranhado assim. Então, depois disso, volto com essa função, uma nova pessoa. Ok, para assim por diante, podemos chamar esse método facilmente para criar usuários. Então vou dizer aqui ou criar pessoa. Então eu sempre digo pessoa, uma pessoa será criadora. E essa pessoa terá nome como John. E ele tem 22 anos e é casado, eu direi falso. E também posso criar outra pessoa, pessoa dois. E isso também terá uma pessoa criativa. E ele terá o nome Smith. E então um testamento tem como 25. E ele é casado. Então, para isso, criei duas pessoas dessa maneira. Então, vamos registrar essas duas pessoas no console. Então, vou pegar este. E então irei aqui e digo pessoa um, registro
do console para mim, Pessoa 1 e registro do console para mim, pessoa dois. Então, depois disso, salvamos, atualizamos. E veremos que temos realmente duas pessoas e objetos como este, porque nossa função criou para nós um método ou criação para nós e objeto, e retornou como vimos nos valores de retorno da função. Então, para isso, podemos tornar esse método ainda menor. Então você não precisa definir uma constante. Você pode simplesmente excluir toda essa constante, excluir todo esse retorno e dizer diretamente, quero retornar um objeto como esse. Para que eu possa retornar um objeto. E você obteria exatamente o mesmo valor porque estou retornando e objeto com chaves e propriedades. E também, se você tiver os parâmetros desse método tiver o mesmo nome das propriedades do objeto, você também poderá removê-los. Então você pode dizer assim. Portanto, os valores serão atribuídos automaticamente à chave dessa propriedade. Então ele é um parâmetro, tem um nome, o parâmetro tem o mesmo nome do objeto, propriedade, nome da pessoa. Então, quando você atualizar, você obterá exatamente os mesmos valores. Vamos torná-lo ainda mais simples. Também podemos remover isso retornado. Então você só tem que dizer voltar para mim assim. Então, como você vê, recebemos um erro. Então, se você quiser retornar o objeto diretamente, você tem que gostar cercado de parênteses. Então temos aqui parênteses e depois salvamos, atualizamos, obtivemos o mesmo valor. Então, como você vê aqui, nossa função, era assim. E ficou assim. Por isso, é muito curto e fácil de usar. Então, para isso, eu sempre recomendo que eu crie um método para criar objetos. E isso veremos em uma etapa mais avançada
sobre a criação de objetos usando construtores. Então, vou colocar como o código antes, como mostrei. Então você não pode ter sempre, como manter na memória que era antes e depois. Então, não podemos ter aqui como antes. E crie uma pessoa de pares. Posso chamar esse método antes e temos como depois. Então, dessa forma, você nunca esquecerá como estávamos tentando atalho esse método facilmente.
62. Métodos de objetos: Os objetos geralmente são criados para representar entidades do mundo real, como usuários, ordens de pessoas, carros, etc. Assim, no mundo real, o usuário pode agir como, por exemplo, selecionar algo do carrinho de compras, login, logout, etc. As ações são representadas em JavaScript no objeto por funções nas propriedades. Assim, podemos adicionar também funções como propriedades ao objeto também. Então imagine que temos um carro, e este carro tem propriedades como nome, modelo, peso e cor. E também tem como alguns valores para cada propriedade. Além disso, o GAR pode ter métodos como iniciar, derivar, quebrar e parar. Além disso, podemos ter outro carro de marca diferente e ele pode começar de maneira diferente, dirigir de maneira diferente e quebrar de maneira diferente. Então, para isso, podemos
propriedades tão bem definidas quanto métodos nos objetos. Vamos ver como podemos fazer isso. Então, vou ter um objeto aqui. Estou chamando isso de carro um. E no carro um, será um objeto. Vou abrir os colchetes e depois darei como marca para esse deus, será fiat, exatamente como tínhamos no exemplo. E tem como cor. Então podemos dizer que a cor é vermelha. E também podemos dizer velocidade. Pode, por exemplo, ele pode ir para 120 quilômetros por hora. E também podemos adicionar mais propriedades. Então, uma das propriedades que podemos ter também é uma função. Então eu posso dizer, por exemplo, começar devagar, isto é, Deus ia começar. Então eu não posso dizer aqui função assim. Então você pode definir uma função. E se você se lembra, aprendemos que também podemos ter funções como métodos de linha. Então, podemos ter aqui como
alguma função como esse método de seta e podemos defini-lo assim. Então aqui eu preciso colocar a vírgula. Então, dessa forma, o
start será um método onde ele pode fazer alguma coisa. Então eu posso dizer log do console, assim. E eu digo que o carro está começando. Então podemos dizer isso. Também podemos fazer uma pausa. E podemos dar também uma função, uma função de linha, e dizemos console.log. E também dizemos que o carro está quebrando. Tudo o que você pode tão bem definido outro método. Então, como você vê aqui, estou separando-os entre coma porque eles são propriedades no final desse objeto. Então, também posso criar outro tipo semelhante que pode ser interrompido. E também podemos ter como uma função. E essa função terá como algumas também entradas ou propriedades ou parâmetros. Não podemos tê-lo sem parâmetros. E também podemos ter como um registro de console que o carro parou. Então, dessa forma, posso alcançar diretamente esse método chamando o objeto com notação de ponto. E então eu posso acessar esse método e não consigo chamá-lo. Então agora o objeto está definido, mas também podemos usá-lo. Então eu posso dizer aqui, console.log ou não posso simplesmente dizer aqui, tenho um ponto inicial. Então, depois do enrolamento, então você vê, estou chamando esse método. Então eu salvo, vá novamente para o nosso navegador. Eu pego que o carro está começando. Então, exatamente assim. Então, também posso chamar um método em um objeto como esse. Podemos ter métodos como definir a velocidade, por exemplo. E esse método pode ter, podemos dizer propriedades também. Então eu posso ter velocidade aqui. E então posso dizer que essa velocidade vai fazer o log do console para mim essa velocidade atual. Então eu posso ouvir, ter a velocidade GAR é, e então podemos usar um plus ou você pode dizer, veja, eu uso backticks, não importa. E podemos colocar aqui a propriedade speed. Então eu posso dizer aqui também, cartão um. E, em seguida, defina a velocidade, como você vê, é preenchimento automático. Posso ver tudo. E posso ter aqui 262. Então, depois disso, atualizo. Vou dizer que a Godspeed é 262. Então, exatamente da mesma forma que estamos definindo métodos, mas todos esses métodos pertencem apenas a esse objeto. Não consigo acessar esses métodos como este. Portanto, não posso dizer que comece porque eles pertencem apenas a esse objeto para que ninguém mais possa acessá-los. Então, somente quando você chama o objeto com anotação de pontos
e, em seguida, chama esse método. Não se esqueça desses parênteses porque você está chamando um método. Portanto, é exatamente assim que o log do console funciona. Então, aqui está a resposta. Então eu tenho aqui um console e o console é objeto. E tem muitos métodos, como o horário da tabela de log. E temos um deles é olhar e o log está se comunicando internamente com o navegador. E, por exemplo, passamos uma string para ela, e então a imprimimos aqui. Portanto, também o console é um objeto e também contém suas próprias propriedades. Então, exatamente da mesma forma. Então, definimos que um objeto tem algumas propriedades e também métodos.
63. Usando isso: É comum que às vezes eu preciso dentro desses métodos para acessar algumas propriedades que estão no mesmo objeto. Por exemplo, quero dizer que a Godspeed atual é 220, então não preciso passar nenhuma propriedade. Assim, podemos, por exemplo, manter esse método. Use outro exemplo como a cor. Então posso dizer aqui, podemos dizer Obter cor ou imprimir a cor do carro. Então, eu quero acessar dentro desse método a propriedade que é chamada de cor. Então eu preciso da propriedade console.log. Portanto, não posso dizer aqui cor. Porque se eu for chamar esse método, então vou dizer que aqui começa na velocidade e podemos dizer impressão de 1 ponto do carro, cor do carro. Salve, vá aqui. Certo, tudo está impresso, mas eu disse que a cor não está definida. Portanto, esse operador ou essa propriedade não está definido porque está dentro desse método. Então, para acessar essa cor, que é essa dentro do mesmo objeto, posso usar uma palavra-chave chamada essa. Então eu posso dizer isso assim, o objeto, quero dizer, isso é igual ao objeto. Então é como pais, eu estou subindo um nível como esse nível, não dentro do escopo. Então eu digo essa cor de ponto. Então, economizamos. E não temos mais o erro, mas estamos ficando indefinidos. Isso ocorre porque usei a função de seta. Então, a função de seta, quando eu tenho assim, eu tenho essa cor de ponto como indefinida. Mas quando você usa a função de palavra-chave assim, então nós temos, podemos remover essa parte e dizer: Ok, eu tenho função, então eu posso recuperar essa cor. Então, ok, agora eu tenho isso como vermelho. Então, ok, o quê? Quero usar uma função de linha porque elas são mais bonitas. Então, dessa forma, você não precisa usar esse teclado, você pode usar um nome do objeto diretamente. Então, dentro do objeto de si, você pode usar também o nome do objeto. Então você pode dizer a cor do cartão 1 ponto. Então, em vez de ter indefinido agora, teremos também esse vermelho. Então, dessa forma, você pode acessar as propriedades do objeto dentro dos métodos do objeto. Então mostrei agora neste exemplo, várias maneiras de definir funções com parâmetro, sem parâmetro, e como você pode acessar todas essas propriedades dentro de um objeto. Então lembre-se, se você quiser usar essa palavra-chave, você precisa ter uma definição de função normal. Sem uma função bruta.
64. Referências e cópia de objetos: Ok, nesta palestra veremos como podemos clonar ou copiar objetos. Então, se você se lembra, estávamos definindo variáveis semelhantes. Dizemos que o cartão 1 é igual ao tipo deles. Podemos dizer Fiat. E então estamos copiando guarda uma para outra variável dizendo: deixe a guarda t2 é igual a 1. Então, simplesmente ambos, Gawain e desenhos animados, eles têm o mesmo valor. Ok, a diferença agora no objeto quando estou definindo dois objetos e estou clonando
um para o outro que eles estão se referindo ao mesmo slot de memória no seu PC ou na sua memória. Aqui, quando somos variáveis como uma string ou um número, digamos que o tipo de folhas de pirâmide, sobre
o qual falamos antes. Esses números de string, booleanos, que são simples em JavaScript, eles estão tendo para as variáveis diferentes locais na memória. Então, vou explicar isso com o exemplo. Então, vamos supor que vamos mudar o valor do desenho animado para ser BMW. E então eu vou para console log guard one e console log cartoon. No caso aqui temos, teremos guarda um será Fiat e B2 será BMW. Vamos ver isso. Então, vou atualizar, ir para o console. Eu tenho Fiat e BMW, mas em objetos, é totalmente diferente. Vou te mostrar um exemplo. Por exemplo, vou alterar esse objeto ou essa variável para ser um objeto. E ele terá um campo chamado nome. E esse nome ainda será. E também farei o mesmo para Deus, mas vou atribuir desenhos animados ou carro ao carro 2 exatamente da mesma maneira. E então eu vou mudar esse guarda para o nome do ponto, como vimos antes, como estávamos mudando o nome do valor de alguma chave ou propriedade em um objeto. E eu vou dar, como podemos dizer BMW, assim. Então, vamos ver o que acontecerá quando eu consolar o log R1 e R2. Então, antes de vermos que eles são diferentes, mas agora, como você vê, ambos têm BMW. Isso significa que os objetos estão se referindo em JavaScript para as mesmas reproduções de memória ou mesmo bloco memória
na memória quando você os está atribuindo um ao outro. Então, como você vê aqui, temos dois objetos. Eles estão se referindo ao mesmo slot de memória. Então eu tenho usuário e administrador, e eles são copiados um do outro exatamente como temos aqui. Então você pode dizer, por exemplo, isso é usuário e isso é como se tivéssemos administrador e nós atribuímos o usuário ao administrador. E dessa forma, direi que admin tem nome e também o, vou registrar o console deste usuário e também administrador, é exatamente o mesmo resultado. Então, como você vê aqui, o artefato em arcos para o mesmo slot de memória. Então, quando estamos clonando o objeto, temos que ter muito cuidado. Imagine se você estiver trabalhando com algum programa grande e clone algum objeto em algum lugar. Você altera um valor de algum objeto e o outro GOT foi alterado. Então você precisa ter muito cuidado quando você está clonando e objetos. Portanto, existem várias maneiras de clonar os objetos da maneira correta sem ter esse problema ou esse problema. A maneira mais fácil de excluir esse clone. E eu digo que, ok, agora
tenho objeto vazio. Agora, admin é totalmente um novo objeto. E então, se eu quiser clonar o objeto do usuário, diria que o nome do ponto admin é igual a user.name. Então, dessa forma, garanto que clonei esse objeto. Ok, salvamos, é claro que mudamos o nome do administrador e tentamos. Ok, agora eles são diferentes. E se eu tiver várias propriedades? Como por exemplo, tenho aqui um ano e depois tenho que dizer, ok, o ponto
administrativo é igual ao ano do ponto do usuário. Então, dessa forma, é um pouco complicado porque você precisa, por exemplo, se você tiver 22 ou 30 propriedades para cada objeto, então você tem que fazê-lo ou cloná-lo um a um. Este não é o caminho certo. Veremos mais tarde como podemos clonar o objeto de maneira adequada para que ele não afete os objetos que são originalmente brilhados. Então, por exemplo, vou mostrar outro caminho. Então, temos aqui esse administrador. E agora podemos usar alguma propriedade de objeto, que é chamada de ponto de objeto. E então podemos ter exatamente a mesma cópia do usuário sem alterar o, por
exemplo, ter a mesma referência de memória. Então, para isso, você precisa usar o objeto de palavra-chave com uma letra maiúscula e depois atribuir. E então você precisa especificar o alvo. Por enquanto, esse alvo está vazio. Assim, podemos ter aqui objeto vazio porque admin no início está vazio e, como você se lembra, nós secamos, o que está vazio para ter uma nova referência na memória, não a mesma que o usuário. E então você tem que colocar o objeto que você deseja clonar. Então, dessa forma, temos administrador com as mesmas propriedades, mas em referência
diferente ou lugar diferente na memória. Então, temos o nome do ponto do administrador. Você pode alterá-lo, e então você pode colocar a BMW assim. E depois salvamos, tentamos novamente. E veremos que eles têm as mesmas propriedades, mas diferentes porque alteramos o nome do administrador e isso não afetou o original do qual clonamos,
que é chamado de usuário. Então agora a clonagem está acontecendo em diferentes locais na memória, não no mesmo local, mas desta forma também tem alguns problemas, como veremos na próxima palestra, como podemos corrigir problemas que podemos ter fase durante a mesclagem ou, por exemplo, clonagem dos objetos.
65. Clonagem de objetos em plano plano e profundo: Certo, vamos falar sobre clonagem superficial e clonagem profunda dos objetos. Então, antes de tudo, se eu tiver uma constante, podemos chamá-la de Deus um e descartar um é um objeto. Tem algumas propriedades como nome, podemos dizer como Fiat. E também tem outra propriedade como cor. Com essa cor, podemos dizer como se fosse vermelha. E para isso vou definir outra constante. Vou chamá-lo de R2, e esse desenho animado terá igual ao G21. Então, dessa forma, eu, quando mudo a propriedade do desenho animado, como podemos dizer essa cor e será, por exemplo, o azul. Nesse caso, quando eu consolar o registro dos dois carros
, vou ao console, verifique-o. Certo, vou ver que os dois carros ficaram azuis. Então, a solução para isso, porque ambos estão se referindo ao mesmo slot de memória em sua memória. Então, quando você tiver esse problema, você pode simplesmente fazer o ponto de objeto atribuído. E então temos objeto aberto e vazio, que é o novo, e depois o objeto do qual vamos clonar. Então, dessa forma, quando eu atualizar, verei que o primeiro objeto manteve a cor e o segundo é alterado sem afetar o primeiro objeto. Então, o problema que aconteceu com o ativo que temos um clone raso, então temos dois objetos, eles estão se referindo exatamente ao mesmo slot de memória. Dessa forma, fizemos um clone profundo. Então separamos o objeto dois um do outro e eu os clono. E então eu tenho um espaço ou um slot de memória para cada objeto. Então, tenho a liberdade de mudar o objeto clonado e fazer o que quiser sem afetar o objeto original. Claro, podemos usar também para clonar o operador de propagação. Então você pode ter como um aparelho aberto e, em seguida, denunciar o cartão 1. E então, dessa forma, você terá o mesmo resultado. Portanto, três pontos ou operador de dispersão vai lidar com esse objeto, atribuir pontos. Mas este não está completo. Não resolvemos o problema completo. Digamos que, por exemplo, eu tenha outro objeto dentro do carro um, para que possamos chamá-lo de peças. Então, essas partes, por exemplo, tem outras propriedades como roda, como vamos dimensionar, podemos dizer que será 22 e também a marca de vidro. Então podemos dizer que a marca de vidro, podemos dizer o axônio. Então, desta forma, ok, clono esse objeto, eu os copio, ok, eles têm o mesmo. Então, agora vou mudar como a ferramenta do carro. Vou mudar a roda para ter tamanho diferente. Então eu diria que carro também, ponto partes pontuam, e então vou colocar a roda para ser, por exemplo, 16. Então, dessa forma, quando eu abrir e ambos, verei que eles tiveram o mesmo problema. Então eu tenho o mesmo problema com o objeto. Então é como se eu também tivesse o mesmo slot de memória, mas onde, porque este é um novo objeto e esse novo objeto tem um slot de memória. E quando estou atribuindo objeto a objeto, estou atribuindo apenas o nível raiz. Portanto, o nível raiz é diferente na memória, não o mesmo, mas o objeto dentro desse objeto está se referindo ao mesmo slot de memória, que é diferente de ambos os dois. Mas aqui está se referindo ao mesmo porque eu os clono. Então, para resolver esse problema, teremos a clonagem profunda. A clonagem profunda pode ser feita de maneiras diferentes. Um deles está usando alguma biblioteca, que é chamada low dash. E esta biblioteca está realmente fazendo o seguinte. Por exemplo, terei o operador split. Vou clonar como aquele Deus. E então eu darei como partes de ponto de desenho animado. Também estou clonando esse objeto. Sinto muito, eu tenho que remover este const. Então, estou clonando também os objetos subbed da mesma maneira. Então, dessa forma, esse traço baixo vai fazer isso. Então imagine se você tiver muitos objetos aninhados, então seria uma dor de cabeça para você. Então você precisa definitivamente do aprendizado profundo. Então, como você vê aqui, eu tenho valores diferentes. Então você precisa do tipo, o, podemos dizer que a clonagem profunda seja feita por alguma biblioteca. E esta biblioteca, é chamada low dash, como eu disse, você só precisa ir para baixo dash.com. Vou usar a cópia CDN, que é uma cópia lá dentro. Então, vamos lá e copiamos um ou o link que tem baixo traço dot main.js. Assim, podemos copiar o URL. E é claro que você pode ter certeza de que, se você já o tiver, então está funcionando bem. Então, o arquivo que copiamos, este que contém a biblioteca. Então, depois disso, você pode acessar seu arquivo e dizer que quero importar um novo script. Portanto, esse script será o mesmo link que você copiou. Então, será como se eu tivesse um script e, em seguida, meu script index.js. Então, dessa forma, você precisa ter certeza de que esse script está chegando antes de você estar trabalhando no script. Então, temos index.js, que é este no qual estamos trabalhando agora. E antes disso, copiamos o script que copiamos para js de ponto baixo traço. Então, dessa forma, você terá certeza de que esta biblioteca, ela pode ser chamada dentro do seu index.js. Então, vamos lá e remova essa parte, e vamos usar um clone profundo. Então, dessa forma, chamo a biblioteca baixa do Dash usando sublinhado. E sublinhado pontuar seus objetos porque sublinhado é objeto que contém a biblioteca, eu digo método clone deep dessa maneira. E então eu atribuo o objeto que eu quero clonar. Então, dessa forma, salvo e depois mudei de valor já. E depois atualizamos. Veremos que, ok, fiat, adicionamos ambos ainda, mas o primeiro objeto não está tendo o mesmo valor do objeto clonado. Assim, eu tenho o objeto clonado encadeie os valores sem ter problemas ou influência sobre o objeto original. Isso é chamado de clonagem profunda, não de clonagem superficial. Então, quando fazemos uma clonagem profunda, estamos criando objetos a partir do objeto original, mas em um lugar diferente na memória, não na mesma referência. E o mais importante também para o objeto aninhado, como mencionei no problema antes.
66. Usando os objetos de fusão do Operador Como usar o Spread: Nos últimos vídeos, vimos que podemos clonar o objeto, mas não clone profundo com o uso do operador split. O operador também tem outro benefício que está mesclando objetos juntos. Então, por exemplo, vou ter outro, como eu vou mudar seus carros para e eu vou dar a ele uma nova propriedade. Então podemos dizer, como eu tenho que dizer velocidade máxima. Então podemos dizer que esta propriedade é de alta velocidade 230, ok? E do carrinho um e carrinho para, eu quero criar um objeto que contenha as propriedades do carbono 1 e também propriedade de guarda também. Então você não pode fazer isso de forma simples e fácil. Assim, podemos ter no caminho também o operador spread. Então vou definir aqui um carro 3. E esta galáxia será um clone de Deus, e também um clone de desenho animado. Então, dessa forma, você pode mesclar objetos juntos. Então, vamos imprimir todos os cartões. Então direi aqui que também tenho o guarda três. Então vamos ver agora,
ok, como você vê, nós ainda temos, que é o carro original, o carro, um com bardos, e o segundo carro que tem apenas propriedade de velocidade máxima. E o terceiro guarda, ele conterá as partes, o nome e a cor que estão relacionados ao carro um. E também a velocidade máxima, que está relacionada ao carro deles também.
67. : Então, antes de definirmos o objeto dessa maneira, estamos usando essas chaves e, em seguida, estamos criando as propriedades do objeto. Além disso, Esaú, outra maneira que podemos criar uma função que está tendo como dois parâmetros e retornando o objeto e eu crio o novo objeto usando esse método. Existe uma terceira via, que é chamada de função de construtor. Essa função de construtor, normalmente recebe o mesmo nome dos objetos de destino. Por exemplo, temos o aluno um, aluno dois, mas agora temos um aluno. Portanto, essa função é uma função normal. E você pode dizer um aluno com uma letra maiúscula, e então você pode passar parâmetros para esse objeto ou para essa função, que será a idade e a média. Então, agora essa função terá essas propriedades. Então eu digo que esse nome de ponto ou essa média de pontos é igual ao parâmetro passado, que é chamado de média. E também faço o mesmo para a idade. Então também temos esses pontos, idade para a idade do aluno. Ok, agora temos essa função. É semelhante a isso, mas sim, vamos dizer como podemos criar o terceiro aluno. Os terceiros alunos podem ser criados de certa forma dizendo aos alunos três. E então usarei a palavra-chave chamada de Novo. E com esse novo, direi que crie para mim um aluno. E esse aluno terá parâmetro. Portanto, o primeiro parâmetro será, por exemplo, 60, que conterá a média e também a idade. Por exemplo, teríamos 14. Então, depois disso, podemos registrar esse objeto no console. E podemos dizer que os alunos três são para mim um novo objeto criado. Então, como você vê, agora tem assim, então diz que tudo bem, eu tenho um novo objeto. Esse objeto tem um nome e esse objeto tem duas propriedades, como idade e média. Vamos consolar registrar o aluno também e ver qual é a saída. Então, temos aqui como log do console e teremos aqui um aluno também. Então, dessa forma, veremos diretamente que temos o objeto sem ter um nome do objeto. Então isso é chamado de função de construtor ou função de construtor, que está me dando a capacidade de criar objetos para um tipo específico. Para nós, esse aluno é como um tipo. Portanto, o objetivo principal também de usar ou o construtor é implementar código de criação de objetos reutilizáveis. Portanto, temos onda ou criação diferentes. E esse aluno para nós é como um tipo e tem capacidade de criar muitos objetos de alunos sem ter esse tipo de código ou este ou por exemplo. E também é mais fácil entender e ler no console que conheço. Ok, esse aluno tem um tipo ou tipo desse objeto ou desse construtor, que é chamado de aluno.
68. Coleção de lixo: Como vimos antes, essa definição de um objeto está ocupando um espaço na memória. Portanto, temos esse objeto que é chamado de usuário, e ele tem memória de objeto ou um slot na memória com o tipo permissivo, que é string, e tem um nome. O gerenciamento de memória no script Java é executado automaticamente adicionando invisivelmente a nós. Então, para isso, é muito importante saber
que cada objeto que você define está ocupando um lugar na memória. Cada variável, cada constante e cada let, você está dizendo que está ocorrendo na memória do navegador e também na máquina do cliente que está abrindo o site e usando o código JavaScript. Então você tem que saber também, como quando eu digo que o usuário é igual a nulo, que há algo chamado em JavaScript no coletor de lixo. E este coletor de lixo está coletando o objeto ou os slots de memória ou excluindo-os ou os liberta da maneira que existe, ninguém está se referindo a esse slot de memória. Então, dessa forma, o JavaScript vai cuidar disso e excluir ou liberar esse slot de memória, porque agora perdemos a referência a esse objeto. Para explicá-lo mais detalhadamente, vamos supor que também temos outra variável ou outro objeto, que é chamado admin. E esse administrador é a mesma cópia do usuário, como se estivesse se referindo ao mesmo lugar na memória. Então, dessa forma, quando digo que administrador é usuário, então ambos,
eles adicionam uma carenagem ao mesmo slot. Ok, quando o usuário é nulo
, ainda é uma referência por administrador. Dessa forma, o JavaScript deseja excluir esse objeto ou não recongelará esse espaço na memória. Isso porque esse administrador ainda está
se referindo a esse slot de memória. Então você não precisa se preocupar como eu posso excluir esse valioso da memória quando eu excluí totalmente ou quando uso esse nulo. Não, não se preocupe, o JavaScript liberará
a memória para você quando você disser que esse objeto é igual a nenhum.
69. Objeto de matemática: Em JavaScript, já existem objetos definidos que você pode usá-los e eles têm alguns métodos e também algumas propriedades que têm valores fixos. Por exemplo, um deles é matemática. Essa matemática era maiúscula. Ele tem muitos métodos, como quando
a notação de pontos que você pode ir e você pode ver todas essas operações. Então, para usá-los, por exemplo, posso definir uma variável. Eu chamo isso como, por exemplo, log ou podemos dizer x, ok, x, e então x é ponto matemático. E então você pode dizer sinal de rodada de poder e tudo isso como operação em matemática. Então, vamos pegar um desses exemplos. Então vou dizer aqui, como podemos ter, podemos dizer cosseno de, por
exemplo, colocar 45, o cosseno de 45, é claro que podemos colocar console.log e depois dizemos x. e depois disso atualizamos. Certo, este é o cosseno dos ovos semelhantes. Então, todas essas operações, elas estão disponíveis aqui na biblioteca matemática. Então aqui há log, e também o log tem esse valor. Então, todas essas operações, como eu disse, disponíveis nesta biblioteca de matemática. Então, de maneiras diferentes, como você pode ver a documentação sobre eles. Então, antes de tudo, você precisa colocar como o método e, em seguida, colocar o mouse no Visual Studio Code e você verá qual é o parâmetro. Então aqui você precisa passar um número e ele diz aqui, como retornar a raiz quadrada de um número. Então aqui está a explicação disso. Até agora que eu diria este, ok, eu tenho tudo isso. Então, dessa forma, você pode usar todas essas operações em matemática onde você vai usá-las em seu código, por
exemplo, você também pode usar algumas operações de arredondamento. Então, a operação de arredondamento, pedirá um número e arredondará a variável de alguma forma, número da
ordem de alguma forma se for um tipo flutuante. Então, por exemplo, este
foi arredondado para um nível mais baixo quando é menor que cinco e o arredondará quando for maior que cinco. Então, como você vê aqui, é arredondado para 43. Muitas operações nesta matemática, você pode dar uma olhada nelas e ler sobre elas e ver se deseja usá-las no futuro ou não.
70. Objeto de data: Em JavaScript também, há objeto PUT é chamado de data. Assim, você pode definir uma data e atribuí-la a alguma variável. Por exemplo, direi aqui data e nesta data você pode usar uma palavra-chave que é chamada de nova data. Nós conversamos sobre isso antes. Assim, você pode criar um novo objeto de uma data. Então, vamos registrar agora essa variável de data, para que possamos dizer aqui o log de lead, data e console. Então, vamos atualizar. Como você vê, temos aqui terça-feira de outubro e o papel alumínio, como data de formato. Há muitas operações nesse objeto. Agora isso é objeto, como você vê, é objeto chamado data. E esse objeto de data tem dentro dele muitos métodos, como você vê aqui. Um deles como definir milissegundos ou obter horas, obter milissegundos, obter minutos, obter um mês. Então, vamos tentar obter o mês, obter o mês é como um método e ele retornará para mim um número. Então eu estou gravando agora este curso em, podemos dizer em outubro. Então eu vou chegar aqui nove. Portanto, esse objeto de data contém vários métodos. Um deles como, por exemplo, temos que obter, obter horas, obter horas. Ele lhe dará as horas atuais em sua máquina local. Assim, dessa forma, você pode exibir a hora atual no navegador para o usuário com base em sua hora local em sua máquina. Então, dessa forma, direi que o ponto de data receba horas, atualizo e recebo 20 porque agora estou gravando às 20. Então, dessa forma, você pode fazer muitas coisas com ele. Assim, você pode criar ou criar data do objeto e também usá-la em vários locais para exibir informações sobre a data para o usuário. Portanto, esse objeto também é predefinido em JavaScript e também podemos usá-lo. Você pode dar uma olhada em todos os métodos, um por um, basta clicar nele. E então você pode ler, obter o segundo de um objeto de data usando a hora local como você vê aqui. Portanto, esta é a breve descrição sobre a data. Você verá mais tarde quando tiver algum projeto e você, e você verá os questionários neste curso, você pode criar muitas coisas com o objeto de data.
71. O que é um matriz?: Nesta seção, vamos aprender sobre matrizes. Talvez você esteja se perguntando, o que é essa caixa de chocolates? Esta caixa de chocolate é uma matriz, ou podemos chamá-la de matriz. A matriz em matemática é uma linha de valores, que eles têm múltipla ou uma dimensão. E em todas as dimensões, armazeno alguns dados. E esses dados podem ser, podem ser os mesmos ou são diferentes. Portanto, a matriz, normalmente são, por exemplo, objetos, mas são, ou não têm chaves. Então, a chave para nós de alguma forma é um índice, como eu posso começar a numeração de 0123, etc. Então, aqui está uma matriz ou os arrays, porque os objetos permitem que você armazene a coleção de valores com chave, como eu disse, mas silencioso com frequência, descobrimos que precisamos de uma coleção ordenada onde temos o primeiro,
segundo, terceiro elemento e assim por diante. Por exemplo, precisamos disso para armazenar uma lista de algo como usuários, mercadorias ou elementos HTML ou elementos CSS. Não é conveniente usar objetos aqui porque ele não
fornece métodos para gerenciar e ordenar os elementos. Não podemos inserir uma nova propriedade entre as existentes. Então eu quero ter alguns elementos ordenados porque, como você vê antes, que o objeto, eles deram algumas chaves e propriedades, mas essas chaves não são ordenadas em uma ordem específica. Eles podem estar em ordens diferentes. Então, por exemplo, se eu considerar isso como um objeto e eu quiser inserir alguns dados aqui entre esse chocolate e este. Quero colocar um chocolate branco. Isso não é possível em objetos, mas com matrizes. Podemos fazer isso. Na próxima palestra, veremos como podemos escrever uma matriz em JavaScript.
72. Sintaxe de matriz: Existem duas sintaxes de criação do array. Por exemplo, direi let array, este é um nome de variável
e, em seguida, direi uma nova matriz. Como vimos antes, podemos definir objetos com nova palavra-chave e array é um objeto, mas está implementando uma matriz. Além disso, outra maneira de definir uma matriz é usar a matriz de palavras-chave e como os colchetes. Então, com os colchetes, você também pode definir uma matriz. Sempre estamos usando o segundo, que é este. Então, normalmente, quando você quer definir array, você pode dizer que eu tenho uma matriz, por exemplo, de carros. E direi aqui deixar carros. E o primeiro elemento do carro, você pode definir aqui string ou um número ou qualquer coisa. Então posso dizer,
por exemplo , ainda tenho BMW. Eu tenho, por exemplo, como fim de semana, digamos Mercedes. Então, desta forma, você pode ter uma série de carros, mas como você vê aqui, não
temos chaves. Portanto, o elemento da matriz, eles são numerados como a partir de 0. Então esse elemento 0 é string fiat. O elemento um é uma corda, BMW, etc. Podemos obter um elemento por seu número entre colchetes. Por exemplo, direi log de pontos do console. Ou você também pode usar o alerta, sem problemas. Então eu posso dizer aqui cartões. E com esses guardas, posso acessar com os colchetes, o primeiro elemento, por exemplo. Ou posso acessar o segundo elemento ou posso acessar o terceiro elemento. Portanto, a contagem sempre começa a partir de 0. Então, vamos tentar isso e atualizar. Recebemos aqui um erro porque usei o array let várias vezes. Então podemos dizer aqui array 1 e array 2. Portanto, você não pode definir o mesmo nome de variável duas vezes. Então, dessa forma, vou ver que consegui isso quando eu mudo para um, eu peguei a BMW. Então, é assim que estamos trabalhando com matrizes, ou essa é a sintaxe do array. Claro que podemos substituir também o elemento da matriz, para que eu possa dizer carros. E então eu especifico qual elemento, digamos o segundo, que é a BMW. Não consigo mudá-lo com outro tipo de carro como o Jaguar. Então, dessa forma, ele será alterado para outro array. Então eu também posso bloquear isso no console. Então eu tenho aqui guardas um e vou consolá-lo. Então, primeiro foi a BMW e depois mudou para Jaguar.
73. Arrays de dimensões em múltiplas matrizes: Você também pode em matrizes definidas por JavaScript ou matrizes multidimensionais. Mas o JavaScript não fornece o array multidimensional nativamente. No entanto, você pode criar uma matriz multidimensional
definindo uma matriz de elementos onde cada elemento também está, é outra matriz, como aqui no nosso exemplo, Fiat também será array. O Bmw também será uma matriz. Então, vamos dar um exemplo. Então eu daria atividades como liderar. E essas atividades serão, como você vê array. E posso ir para uma nova linha e direi, como o primeiro elemento dessa matriz também será array. Então vou dizer aqui como trabalho e o trabalho é como nove horas. E então eu vou ter como comida como podemos dizer, ou comer, como você pode dizer, digamos que comer é melhor. Então, com comer, tenho uma hora. E também então eu tenho, por exemplo, como exercício. Então posso dizer aqui como vou usar, por exemplo, duas horas para se exercitar. E podemos dizer dormir. Estaremos no exemplo, sete horas, etc. Então, agora essas atividades são armazenadas como matriz de matrizes. Então, quando você quiser registrar esse array, então vamos ter aqui o log do console e nós registraremos o console das atividades. E quando eu atualizo, eu chegaria aqui a matriz. E em cada membro dessa matriz, há array,
array para, para, como como dois elementos de cada matriz. Então, quando você abri-lo, você verá que 0, o primeiro índice é trabalho e nove. E quando você abrir este,
você também verá uma matriz com 01 índices. Então, dessa forma,
você pode trabalhar com matrizes multidimensionais. Vou dar-lhe agora novos truques. Assim, você pode registrar esses arrays no console, por exemplo, nas DevTools de uma maneira bonita. Então você pode dizer tabela de pontos do console. Então, com esta tabela de pontos do console, ela irá consolá-la para você de uma maneira bonita. Como você vê aqui, temos aqui o índice, e temos o primeiro item da matriz e também o segundo item da matriz. Portanto, cada array é consolado como uma tabela ou como uma linha na tabela. Portanto, se você quiser obter um elemento específico da matriz multidimensional, você também pode usar o log do console. Então aqui, em vez de tabela, podemos dizer log do console. E então você especifica a primeira matriz ou a primeira dimensão, que será como o primeiro elemento, quero dizer este. E então eu direi, dê-me o segundo elemento da primeira matriz. Então eu vou ter como nove porque este é o segundo. Então aqui está o primeiro e este é o segundo. Então, quando nos atualizarmos, chegarei aqui nove. E também quando eu colocar 0
, vou conseguir trabalho. Isso ocorre porque estou acessando a matriz de matrizes. Também é o mesmo para a terceira dimensão, quatro dimensões, etc. Assim, você também pode fazer isso funcionar como matriz. Você pode ter uma profundidade ilimitada de matrizes.
74. Como adicionar elementos à matriz: Você pode adicionar elementos à matriz facilmente usando duas maneiras. Um deles é como se você pudesse atribuir diretamente às frutas como temos aqui, uma maçã, laranja e gordo. Você não pode simplesmente dizer, por exemplo, como eu quero frutas. E você pode apenas dizer que eu quero no terceiro elemento, como no quarto elemento, desculpe. Então, temos 0, 1, 2. E então direi no terceiro elemento que não existe como não até agora. Então eu posso colocar, por exemplo, banana. Então, depois disso, você pode consolar registrá-lo e você verá que esse elemento banana é adicionado à matriz. Então podemos dizer aqui frutas e depois rejeitá-las. E veremos que o item foi adicionado. Então você só precisa adicionar o índice. Onde você quer? Então, se você pular alguns números, como por exemplo, eu tenho aqui 0, 1 ,
2 e depois o terceiro. Então, vamos colocar você gostaria de seis, o que vai acontecer? Então, quando
atualizarmos, veremos que existem diretamente esses elementos. Mas diz aqui no console que nos deu nota de que há três lugares vazios. Mas aqui na matriz você vê diretamente que temos a matriz com esses índices. Portanto, não há problema com isso também. Você só precisa se lembrar do índice de banana. Existe outra maneira de adicionar elementos à matriz. Então, se, por exemplo, você pode dizer frutas e depois colocar ponto porque agora frutas é uma matriz e essa matriz como por trás da cena é objeto e tem seus próprios métodos. Então, como você vê aqui, temos métodos para essa matriz, como veremos mais tarde, um deles é chamado bush, então você pode empurrar elemento para essa matriz. Por exemplo, eu diria Melbourne. Então, depois disso, quando eu atualizar, verei que maçã, laranja, banana e Milão foram adicionadas. Então, com Bush, você também pode adicionar elementos à matriz.
75. Removendo elementos de matriz: Vimos antes disso, temos elemento para empurrar para a matriz que
possamos empurrar ou adicionar elemento à matriz usando o método push. Mas se você quiser remover o elemento da matriz, você pode usar um método chamado pop. Então, com pop, você pode simplesmente chamá-lo e, em seguida, ele removerá o último elemento da matriz. Então, como você vê aqui, salvaremos e atualizaremos. Certo? E veremos que Mellon foi removido. Então, se virmos aqui como isso é antes e isso é depois. Então, depois disso, isso é antes e isso é depois. Então o Milão foi adicionado e depois foi removido dos elementos. Agora, para remover um elemento da matriz em um local específico. Como você vê, o pop está removendo apenas do final da matriz, como apenas o elemento mais recente, como aqui. No nosso caso, era melão. Mas se eu quiser usar ou remover prumo, por
exemplo, existe um método que é chamado de emenda. Então, com isso se aplica, é
claro que vou apenas comentar aqueles apenas para entender o exemplo para não fazer alterações na matriz. Então agora nossa matriz tem quatro elementos, maçã, laranja, ameixa e banana, que adicionamos aqui. Quero remover a ameixa. Há um método também nos arrays que é chamado de emenda. E com os fornecedores, você pode especificar de onde deseja começar a remover. Por exemplo, eu quero remover uma ameixa, então eu digo 012 o segundo. Então, desta forma aqui, em caso de contagem de matrizes, é o terceiro elemento, mas o índice é dois. Então agora vou dizer quantos elementos eu quero remover desse índice e depois. Então, se você quiser remover múltiplos, você pode dizer que eu quero remover a ameixa e a banana, mas se você quiser remover apenas a ameixa, especifico que quero remover apenas um elemento desse índice. Então, vamos ver o que acontecerá agora. Se eu atualizar, vou pegar maçã, laranja, banana. Eu não peguei a ameixa. Então, a partir desse índice, do terceiro índice, que é dois na contagem, então eu removo um elemento. Se você quiser remover mais, basta
dizer, por exemplo, dois. Então, nesse caso, removo ameixa e banana. Então, vamos salvar e ele foi removido. Então, se você quiser remover qualquer elemento de um local específico, basta colocar o índice do elemento e contar dele. E então o elemento será removido e atualizará a matriz.
76. Impressão de elementos usando em matriz usando em loop: Como você vê aqui, estamos fazendo um log de console para a matriz, tudo isso. E está imprimindo para nós todos os membros, mas eles são impressos como matriz. Então, digamos que eu queira lidar com os dados dentro desse array. Por exemplo, tenho uma matriz de números e quero, por exemplo, ver como o dobro de cada número. Então eu vou, ou vou aqui para comentar isso. E definirei uma nova matriz. E direi como números de leads. E esses números terão como 12 ou digamos de diferentes números 24 e 36 e 42, por exemplo. E agora eu quero fazer um loop sobre todos esses números. Tenha cuidado, você tem aqui dois separados com vírgula, não com ponto. Portanto, a separação entre o elemento da matriz é com vírgula. E, como eu disse, você pode especificar qualquer tipo de matriz aqui. Então você pode dizer aqui números, booleanos, e você pode ter, por exemplo, funções. Isso não importa. Então agora vou para uma impressão ou quero imprimir matriz ou números, todos eles no console,
mas quero o dobro deles, por exemplo. Assim, podemos lidar com os dados dentro da matriz usando loops for ou qualquer tipo de loops. Mas a maneira mais fácil é usar um loop for. Então, para loop, como você vê aqui quando você seleciona para loop aqui. Então, o código do Visual Studio criará para você e arrazará tudo isso. Todos os elementos da matriz que você precisa, ou todos os membros do loop for que você precisa imprimir ou manipular o elemento de matriz. Ou você pode escrevê-lo pela sua mão. Vou escrevê-lo pelas minhas mãos. Então eu direi aqui quatro e depois direi que eu, e então isso eu vou, por exemplo, ser esse comprimento da matriz. Então, como menor do comprimento da matriz. Então, se você ver que há uma propriedade que é chamada de comprimento, e esse comprimento foi devolvido para mim. Quantos elementos dentro dessa matriz? Então, depois disso, direi que eu e depois mais, mais. E depois disso abrirei chaves encaracoladas. E então direi, ok, log
do console para mim a matriz como esses números. E então usarei como índice, não um número, como vimos antes, 0, 1, 2, vou usar I. Então vou aumentar de 0 até o comprimento dessa matriz. Então, depois disso, se tivermos esse número, então vamos tentar imprimi-lo assim. Eu não entendo
nada, nada no console porque precisamos inicializar o olho. Então, como você vê, às vezes você comete erros, mas você tem que aprender com seus erros. Então eu tenho aqui perdendo os zeros que devo inicializar a variável de valor, ou seja. Então, quando atualizamos, ok, recebi 24, 36, 42, mas não separei como uma matriz como vimos antes. Então agora posso fazer qualquer operação nesses itens de matriz. Então vou dizer aqui como o dobro deles, multiplicar por dois. Então, receberei o dobro desses itens de matriz. Então, dessa forma, assumirei que o comprimento do ponto dos números está retornando para mim, não um ou dois, o índice mais recente, mas retornará três elementos. Então, ele retornará três. Então, quando eu digo exatamente igual, então não vai para três. Então ele vai 012, que é exatamente o que eu preciso para esse array. Então você tem que ter cuidado para que este seja menor do que, exatamente não menor ou igual. Caso contrário, você obteria um erro ou nenhum dizendo que o elemento mais recente da matriz não existe porque estamos contando até três e não há como quarto elemento aqui, que é o terceiro índice.
77. Clonagem de matriz curta e profunda: Como falamos sobre o objeto antes, essa cópia do objeto está sempre fazendo referência ao mesmo slot de memória. O mesmo vale para a matriz. Vou te dar um exemplo. Então, vou copiar esse array. Então, terei como números de leads, cópia e esse número é cópia. Vou atribuir a ele números. Assim, dessa forma, a cópia de
números terá cópia ou podemos ter os mesmos dados dos números. Então, quando eu quiser mudar, ou vamos primeiro como registrar o console para garantir que ele esteja realmente tendo os mesmos números ou os mesmos elementos dentro dos números. Então, quando eu salvo, atualizo, ok, eu tenho matriz como vinte e quatro, trinta e seis, quarenta e dois. Ok, agora vou consolar log também aqui, o primeiro array, como os números, direi aqui. Números. Como você também pode combinar isso. Então você pode dizer matriz de números. E então você tem que dizer aqui como espaço. E então você coloca isso como cifrão e fecha o carrapato de trás. Então, depois disso, você poderá chamar o membro ou o membro dessa matriz. Então, depois disso, podemos fazer o mesmo pelos outros elementos. Então, podemos ter aqui também pelo Ártico. E diremos números, cópia e cópia. Terei cifrão e chaves encaracoladas e depois volto. Então agora terei no registro do console dois arrays, 24, 36, 42, o mesmo. Ambos são assim. Então agora vou alterar o primeiro elemento da cópia de números. Então eu vou aqui e direi o primeiro elemento da cópia de números, alterá-lo para eu ser como dez. Ok, economizamos, atualizamos. Veremos que ambos receberam 10. Então, exatamente com objetos como temos a mesma referência ao mesmo slot de memória desses arrays. Portanto, não podemos copiar os arrays assim, especialmente se eu quiser fazer algumas operações nesse array. É claro que você pode usar essa operação, mas você precisa saber que está realmente mudando uma matriz que afetará a matriz original. Assim, da mesma forma com os objetos, você pode usar a clonagem ou podemos dizer o operador de propagação. Então você pode usar os colchetes assim, não as chaves encaracoladas, mas os colchetes porque aqui temos matriz e depois os três pontos. E depois disso, você coloca o nome da matriz original. Então, quando atualizarmos agora, veremos que temos 24 para a matriz original e , em seguida, para a nova matriz ou a matriz copiada como você vê aqui, porque alteramos o primeiro elemento dela. Portanto, essa é uma das maneiras de clonar matrizes juntas. Existe outra maneira de usar loops for. Por exemplo, eu diria que posso definir uma matriz vazia como esta. E então eu farei um loop for-loop. E com esse loop for, posso dizer que a cópia de números é igual a, como podemos dizer que os números copiam I ou índice porque aqui já
defini o loop ou o iterador será índice. Eu direi como índice numérico ou índice de cópia numérica é o índice de números. Então, depois disso, preencheremos esse array. Então aqui temos que colocar o comprimento da matriz de números. Então, salvamos, atualizamos como você vê aqui, temos também em uma nova matriz, esse operador de raça que eu mostrei antes, está fazendo esse trabalho. Assim, podemos remover isso e usar a maneira mais fácil e a maneira moderna de clonar matrizes juntas. Então, assim, essa é a melhor maneira. Portanto, sempre quando você quiser clonar uma matriz e quiser mudar nela, use
esse operador de criação. Você não precisa usar os arrays, que eu te disse antes, ou
como, como a operação igual que eu disse antes aqui, que está totalmente errado porque vai mudar a matriz original. E como eu mostrei, se você tem matrizes aninhadas, como eu disse antes aqui, como se tivéssemos uma variedade de matrizes, então você tem o que você precisa usar, o clone profundo, que vem do sublinhado ou baixo matriz de traço. Então, aqui a biblioteca Dash baixa está fornecendo um método clone deep. E esse método clone você pode dizer como o que você quer clonar. Então eu quero esse array ou números. E dessa forma, ele fará para você uma nova cópia sem afetar a matriz original. Se a matriz clonada tiver valores alterados.
78. O operador de transmissão é usado para mescla de matrizes de fusão: E use também esse operador de raça para mesclar matrizes como fizemos com o objeto. Por exemplo, tenho dois arrays, nomes um e nomes2. Deixe-me definir uma terceira matriz, que será o casamento entre nome1 e nomes2. Então eu terei aqui nomes três, e então vou dar como se a mesclagem fosse o operador de spread que vou colocar três nomes de pontos, 13 pontos chamados Stu. Então, nesse caso, teremos o casamento entre essas matrizes. Então, vou registrar o console dos nomes três para ver o resultado. Então, quando eu tiver agora esse casamento entre essas matrizes ,
teremos, isso é tudo, ambos estão em uma matriz. Como você vê, eu tenho seis elementos. Portanto, essa é a maneira ou a maneira mais fácil de matrizes de casamento em JavaScript.
79. Revisões e ordenação de matrizes: Quando exploramos os métodos de matrizes JavaScript, veremos os vários métodos e métodos úteis para nós. Então, por exemplo, vou usar agora são como um método chamado reverso. Então os nomes três aqui temos como conjunto de ambos os arrays aqui, nomes um e nomes2. Então, se eu disser nome, isso é assim. E então eu coloquei um método que é chamado de reverso. Então veremos que essa matriz se inverteu, como o primeironome será Val e depois Annie, e então Sunday RAM é Julia e John. Então, quando consolar o log antes e depois, veremos essa diferença. Então agora eu tenho aqui a ROM original de Joan Julia é Sandy, e o segundo é
o inverso, o oposto, como do fim ao início ou ouvir do início ao fim. Então, dessa forma, você pode reverter o array. Você também pode classificar a matriz. Então, usando como o método de classificação. Então você pode dizer aqui esse tipo. E então, com esse tipo de ponto, você pode ter como alguma matriz de compaixão. Tudo o que você apenas diz assim. Vou comentar isso. E então você verá que toda a matriz está classificada. Então temos John, Julia ROM como antes, e agora é ordenado por letra, como você vê aqui. Como a primeira letra é a e depois j, e depois nosso S, e depois vogal no final. Então, a classificação vem por letras. Se você tiver números que a classificação virá por números. Portanto, esses ótimos métodos, você pode usá-los diretamente em JavaScript em matrizes para fazer essas operações, como reverter e classificar um array.
80. Encontrando elementos de matriz: Um dos métodos de matrizes é encontrar alguns elementos pelo nome. Por exemplo, eu quero ter como, quero procurar algum nome e, em seguida, vou obtê-lo na matriz a partir da matriz. Então, dessa forma, você pode dizer como eu tenho nomes, três, novamente, encontrar, então encontramos o método. Você pode encontrar alguns elementos na matriz. Então, da maneira mais fácil aqui, é como, não é tão difícil porque você conhece os elementos e você pode apenas especificar o índice. Mas o método find também tem alguns retornos de chamada. Assim, você também pode especificar alguma condição, como
no, na pesquisa dentro da matriz. Então, esse callback, como você se lembra, nós os chamamos nas funções e definimos algo chamado como o retorno de chamada. E são funções internas como um parâmetro de alguma função. Então, para ter isso, podemos usar isso como encontrar e podemos definir outra função como retorno de chamada. E chegaremos aqui como um valor. Claro que você pode nomear isso tudo o que quisermos. E então esta será uma função de seta. E dentro dessa função de seta, você precisa retornar uma condição, essa condição que terá a avaliação para encontrar. Então, por exemplo, quero ter o valor igual a Annie, por exemplo, assim. Então, depois disso, você não tem igual assim, mas você tem que ter um valor verdadeiro ou falso como esse. Depois de loping na matriz, ele irá fazer um loop. Ele vai ser um por um. John é igual a Ani? Não, Julieta igual a qualquer não, não, não. E então Ani igual a Annie. Sim. E então ele o devolverá para você. Mas isso bem, ele retornará array. Portanto, essa matriz, temos que atribuí-la a outra variável. Então eu direi aqui que o nome como encontrado seja igual a este. Então, eu vou registrar o nome encontrado no console. Então, e então veremos que ele retornará para nós apenas E10. Então, vamos atualizar. O retorno é Annie como você vê aqui. Portanto, o método find é encontrar um item de matriz específico sob alguma condição. Então, digamos, por exemplo, se você se lembrar, nós definimos, como tudo o que vimos um método dentro da string que é chamado start with. Então, se alguma string começar com, por exemplo, a letra J, ela retornará para nós, como a matriz que contém Joan e Julia, porque isso é verdade. Então, quando o valor estiver retornando ou igual para começar com j, ele retornará para mim verdadeiro. Então, sempre que passar, ele armazenará esse valor ou o resultado no nome. Assim, podemos chamar isso como nomes encontrados porque agora encontraremos vários nomes. Vamos atualizar. Vá aqui. E, como você vê, temos o primeiro elemento. Então, nesse caso, esse método de busca é encontrar apenas a primeira ocorrência de algum item. Então, quando eu passar pela primeira vez por aqui, então ele vai parar. E retornará para mim apenas a primeira ocorrência ou apenas o primeiro resultado verdadeiro, que vem dessa condição. Se você quiser usar outra maneira ou retornar, eles são todos nomes, então você precisa usar outro método que é chamado de filtro. E este filtro retornará para mim todos os itens que começam com uma letra J. Então, como você vê aqui, temos Joan e Julia. Então, em outras palavras, filtro está retornando para nós e para o array, mas find está retornando para nós apenas um valor. E este apenas um valor retornado somente após a primeira ocorrência da condição válida ou de uma condição verdadeira que especificamos aqui. E retorne o elemento encontrado, que está atingindo essa condição. Então você terá que distinguir entre encontrar e filtrar. O filtro está retornando todas as ocorrências após ou sob alguma condição. Mas o find está retornando apenas a primeira verdadeira ou a primeira ocorrência da condição com esse valor.
81. Iteração usando matriz: Se eu quiser lidar com todos os valores de uma matriz específica, se você se lembrar, estávamos fazendo com loop for, como você vê aqui. Mas há outra maneira de fazer aquilo que é mais fácil e mais eficaz e mais desempenho usando para cada um, pois cada um também é um método definido
nos arrays em JavaScript, onde você pode fazer loop sobre os elementos da matriz. Então, vamos dar um exemplo. Então eu vou fazer um loop sobre os nomes três, novamente, como temos aqui, Defina Nomes um, nomes2 e casei novamente com eles. Então eu terei aqui nomes de três, e usarei um método que é chamado para cada um. Da mesma forma, estes para cada um, teremos um retorno de chamada. E esse retorno de chamada, você pode usar o valor por valor. Então, o valor retornará aqui, como todos os elementos como o fim de semana dizem aqui. Como um nome mais claro, podemos dizer o nome. Então, temos aqui nomes. Então, vou fazer um loop por nome, pelo nome para cada nome, e então posso usar esse nome para o que eu quiser. Então vou dizer aqui console.log, esse nome também. Então, quando atualizamos, você vê Nosso, ok, eu imprimi a matriz primeiro, que está aqui. E então eu coloquei o ID, nome por nome para cada um está fazendo seu trabalho. Além disso, você pode fazer ou digitar o índice. Então você pode dizer aqui uma vírgula como outro parâmetro e dizer índice. E com o índice, você também pode consolidar o log do console. Assim, você pode usar o índice dessa matriz. Como você vê, eu tenho o índice e o valor que é uma string. Então, dessa forma, você pode fazer um loop sobre a matriz de maneira diferente. Estamos usando o foreach.
82. Altere a matriz usando matriz: E se, por exemplo, eu quiser ter algumas alterações em algum array. Por exemplo, quero substituir Joan por este. Então, como você vê aqui, como eu posso fazer uma alteração na matriz e retornar uma nova matriz que contém as alterações. Até agora, posso fazer um loop sobre, por exemplo, o nome é 3, que é casamento entre nomes e um, e nomes2. Assim, podemos fazer um loop sobre ele e encontrar Joan e substituir Joan por esse fantasma. Até agora que eu vou ter aqui nomes três. E então usarei um método chamado mapa. Então, com o mapa, você pode fazer o que quiser com os elementos. Você pode alterá-los. Você pode gostar de fazer alguma operação em elementos específicos com base em alguns valores semelhantes. Então ou alguma condição. Por exemplo, é claro que ele terá a mesma função de retorno de chamada. E esta função de retorno de chamada, você pode fazer com isso como aqui. Você pode ter o ouro de volta. E então ele fará por você como você pode fazer o seguinte. Então, por exemplo, quero dizer se o nome é igual a Joan, assim. Então, quando eu encontrarei alguma Joan, então você tem que dizer que o nome é igual a este. Então você pode simplesmente colocar como uma corda. Então, é claro que eu copiei esse emoji da internet. Então agora temos se esses array ou esse array, quando ele está fazendo loop e encontrar Joan, então ele irá substituí-lo por esse valor. Como você vê, eu uso a mesma variável, nome, nome e nome. Agora podemos registrar o log do array após a alteração. Então vou dizer aqui, nomes, cidade, novamente, consolo para mim os nomes de três. Então, vamos atualizar. Como você vê, nada mudou aqui porque precisamos atribuir, novamente que esse mapa está retornando para mim uma nova matriz que mudou o array. Então, para este mapa, tenho que dizer o nome três, ou posso definir uma nova matriz. Podemos chamá-lo de nomes para. E esse nome para, eu posso consolá-lo. Então, dessa forma, terei o nome alterado três array e atribui dois nomes para. Então, vamos fazer isso. Então eu tenho aqui tudo indefinido. Por quê? Como esse método de mapa, você deve fazer um retorno. Então, depois de fazer alguma operação nesse nome ou aquele elemento semelhante, como eu disse, o mapa também está em loop na matriz. Então, depois de fazer alguma operação, você tem que devolvê-la. Então, o retorno do nome. Então, como você vê aqui, tudo dentro desta chamada de volta, eu tenho aqui essa função, o parâmetro. E então abro chaves, e então tenho aqui a condição if. Eu faço alguma operação no nome, mudei para fantasma e depois devolvo. Portanto, o retorno será para essa função. Então, o mapa receberá esse retorno e depois o salvará em sua nova matriz. Então, depois disso, você não ficará indefinido. Então você sempre tem que se certificar de que está retornando o elemento, que está fazendo alguma operação. Então, é claro, eu não retornei o nome, como dentro se porque se eu devolvê-lo apenas para dentro, se você ver que eu, ok, eu tenho o primeiro valor, mas o resto é indefinido porque eu não o devolvi fora do F. Então, como eu disse, o mapa também está em loop. Então, quando o nome é John, então ele está retornando o nome, mas não funciona, mas quando o nome deles não é , não, então ele está dando indefinido. Então, é melhor. Em qualquer caso, no final, lembre-se de retornar o valor passado ou o valor de retorno de chamada no final da chamada de volta da função map. Gostaria de observar aqui que, é claro, para cada um não está fazendo esse trabalho para você, porque para cada um está retornando vazio, ele não retorna um novo array. Se você fizer um loop, alterar algum valor e fazer um retorno. Mas o mapa está retornando uma nova matriz, como você vê aqui, está retornando uma matriz de strings. Então, como porque aqui temos a matriz de strings, claro que ela carrega seus números ou qualquer coisa. Então, como você vê aqui, quando você quiser fazer um loop sobre itens na matriz, ok, use para cada um. Mas se você quiser alterar a matriz sob alguma condição, use o mapa. Não use o mapa para looping dentro da matriz. Claro que está correto. Mas é melhor usar todas as funções para as quais elas são especificadas.
83. Explorando Array.reduce: Vamos supor que temos uma variedade de números. Eu chamo esse array como números reduzidos. Então, dessa forma, quero ter a soma desses números. Claro que você pode fazer isso manualmente usando acumulação e para loops ou para cada um. Mas também é melhor usar algum método que já está definido em JavaScript. Então, definirei aqui uma variável, chamarei de soma. E essa soma, vou usar um método dentro da matriz que é chamado de reduzido. Portanto, esse método está se comportando como acumulador. Então, ele terá dois parâmetros. O primeiro parâmetro será acumulador e o segundo parâmetro será o número atual, exatamente como com o nome. Ele fará um loop sobre os nomes e, em seguida, fará algo com esse acumulador. Então, com o acumulador, você pode fazer alguma operação como se tivesse que obter a soma. Assim, você pode ter o valor anterior
desse acumulador mais o número reduzido, como todos os números. Então, quando você tiver isso, então ele vai ter o valor anterior mais o valor atual. Então, primeiro loop, será como 10 e esse acumulador será 10 e 10. E, em seguida, na segunda rodada, serão dez e este 20. Então, depois disso, combinará 20 e isso então, então teremos terapia. Então, depois disso, teremos 30 e aqui teremos como o 30 também. Então, como você vê aqui, quando eu fizer essa operação e retornar à soma, então obterei o valor. Vamos ter um registro de console também. Então eu vou ter aqui o log do console, eu recebo 100. Então, é claro que você pode fazer qualquer operação, como por exemplo, eu farei isso e depois vou ser multiplicado todos esses membros da matriz. Então, para entender isso mais, vou mostrar a vocês todas as consequências dessa acumulação. Vou marcar o acúmulo e vou imprimir o número reduzido ou o valor atual. Então você pode renomear isso para ser mais fácil para você. Podemos chamá-lo de valor atual. Então, aqui o valor atual para usar números, substituímos tudo isso. Então, vamos registrar isso no console também. E veremos agora, então o acúmulo, então temos aqui o acúmulo e aqui o valor atual. Então, vamos ver o que acontecerá. Certo? Então, a primeira ocorrência acontece como o acúmulo aconteceu, e então o número atual obteve 20. Então, é preciso primeiro, segundo número, como você vê aqui. Então, é preciso isso e isso. E depois disso, ele faz alguma operação ou ambos e salva o valor ou o resultado disso no acumulador novamente. Então, no novo acumulador, teremos a multiplicação entre 130, entre 10 e 20. Então, como você vê aqui, chegamos aqui 200. A segunda iteração desse acumulador. Como você também pode fazer assim. Você tem que se certificar de que você tem exatamente a mesma maneira de entender o 12. Então, temos aqui. Então, como você vê, desculpe, não temos a vantagem aqui. Então, como você vê aqui, o primeiro acumulador é dez
e, em seguida, a corrente é 20. Então eu consegui o primeiro valor, eu os multipliquei, então o acumulador obteve 200 porque isso é multiplicar 10 por 220. E então a corrente é 30, que é o terceiro elemento da matriz, e depois multiplique-os juntos, eu recebo 6000. Então, da mesma forma como ele está se comportando. Então você só precisa pensar que esse é um valor anterior e esse é o valor atual. E o valor de retorno está afetando o acumulador. Então você pode fazer o que quiser com essa redução. Espero que você entenda. Então, se você tiver algum problema com isso, basta fazer este exemplo e você entenderá o que está acontecendo dentro dessa redução.
84. Explorando Array.some: Estamos explorando nesta seção ou os métodos dos arrays. Então, por exemplo, há outro método que é chamado de soma. E esse método de soma em que testa se o pelo menos um
dos elementos na matriz atingindo alguma condição ou passa em algum teste de condição. E se sim, ele retornará para nós um verdadeiro. Então, vamos tentar isso. Então, estou assumindo que eu tenho esse array
números reduzidos e vou fazer um loop sobre ele usando alguns. Então, com essa soma, como você vê aqui, podemos ter uma função de retorno de chamada e ela conterá o, por exemplo, o número atual. E, claro, ele fará um loop sobre todos os números. E então você pode dizer, eu quero retornar o número ou o número atual, que é igual a 10. Então, quando for igual a dez, ou qualquer número for igual a 10, então ele retornará para isso, para mim é verdade. Então, ele dirá aqui como vamos resumir. Portanto, essa soma podemos consolidar e podemos ver aqui xm. E, em seguida, removemos o comentário, atualizamos. Então, como você vê, temos um verdadeiro porque um dos números tem 10. Mas se eu alterá-lo para, por exemplo, 212, não tenho 12 nesta matriz. Vamos salvar. E agora isso é tudo o que será atribuído a alguns. Então, podemos ter aqui falso. Então, como você vê
isso, é como quando queremos encontrar algum elemento ou descobrir que alguns elementos existem na matriz ou não. Você pode usar esse método de soma. Ou mesmo também. Você pode dizer se há algum número ímpar, por exemplo, aqui temos todos eles mesmo. Então, dessa forma, você pode dizer apenas o número atual, como o mod dois não é igual a 0. Então, podemos tentar isso. Então, vamos salvar novamente. E veremos isso falso. Não, porque não há, qualquer número é ímpar. Mas a maioria deles ou todos eles são números pares. Então, passamos. Então você pode fazer qualquer operação aqui. Por exemplo, procure algum nome ou pesquise, como algum valor específico dentro da matriz, objeto específico, etc. Até agora, você pode usar esse método.
85. Explorando Exploring: Então, na palestra anterior, vimos que, se alguns dos elementos atingirem essa função ou esse método ou essa condição, ele retornará para nós verdadeiro. Mas agora vamos verificar todos os elementos. Portanto, cada item da matriz deve atingir essa condição. Então, vou colocar este exemplo aqui, comentei para ver que é todo o último trabalho. Então podemos colocar aqui, eu posso chamá-lo de todos, então cada elemento dessa matriz deve atingir essa condição. Portanto, o método é todo, é exatamente a mesma sintaxe. Ele terá um retorno de chamada,
que é função de matriz e, em seguida, ou função de seta. E então ele retornará para mim a condição que será alcançada ou não. E verifique isso com todos, então vamos verificar isso agora. E como você vê, todos os elementos dessa matriz são pares. Ok, então agora vamos verificar outra condição. Por exemplo, quero dizer, desculpe, aqui, quero dizer que todos os elementos são menores que 30. Então, digamos que o número atual do que 30. Certo? Isso é falso porque nem todos eles ou terapia ou menor que 30 porque lá temos 40. Mas quando eu coloquei 60, por exemplo, tudo bem, Todos eles são menores que 60. Então, salvamos ou atualizamos, como você vê que é verdade. Portanto, todos os elementos devem atingir essa condição. Então isso se chama Every. Mas se alguém pelo menos atingir essa condição, isso é chamado de soma. Então eles são totalmente opostos.