[Música] fala Mestres beleza no vídeo de hoje nós vamos falar aqui sobre operadores nós temos aí os operadores aritméticos operadores lógicos operadores relacionais e a gente vai explorar mais esses operadores quais operações a gente pode fazer e como que a gente pode estar realizando né E essas operações no JavaScript tá então eu vou eu tenho eu já criei aqui né o arquivo dessa aula operadores aritméticos lógicos e relacionais e vai ficar salvo aqui os arquivos que a gente desenvolveu nas aulas né então vocês terão acesso a esse repositório para conseguir est vendo os conteúdos e
consultando os conteúdos aí das aulas tá então aqui no arquivo do da aula do nós iremos começar aqui falando sobre os operadores aritméticos tá então vou deixar aqui um comentário né já do título dos operadores aritméticos Beleza então quando a gente fala de operadores aritméticos são basicamente as operações comuns que nós temos aí eh matemáticas tá então eu vou criar aqui duas variáveis vou criar a variável a que vai ser igual a 10 e esse igual ele é um operador né operador de atribuição e teremos aqui o variável B que vai ser igual a 20
tá então com essas duas variáveis criadas vamos começar aqui fazendo as operações tá então eu nós temos a operação de soma e o resultado dessas operações eu vou armazenar em uma outra variável então eu vou criar aqui ó a variável soma vai receber vai eu vou atribuir né então o operador de atribuição a a variável a + b tá então eu consigo somar duas variáveis né somar dois números eh mais paraa frente eu não quero confundir vocês agora mas mas algumas operações realizadas entre números e Strings a gente tem um comportamento estranho tá então eu
não vou fazer isso agora mas já é alertando aí e deixando vocês curiosos também para como que funciona Eh esses operadores aritméticos eh com entre números e Strings Tá mas vamos voltar aqui pra aula Vamos focar aqui temos o operador de soma temos o operador de subtração tá então let subtração sem acento sem cedilha vai receber vai vou atribuir aqui a - b tá então eu consigo fazer o consol vou fazer o consol log disso aqui ó eu vou fazer o consol log da variável soma e da variável subtração eu eu não mostrei isso aqui
para vocês ainda mas nós conseguimos fazer o consol log de várias variáveis tá então a gente separa por vírgula a sintaxe aqui né do consol log a gente separa e por vírgula aqui e manda outras variáveis isso aqui não é bem a sintaxe do consol log a gente vai ver mais quando a gente tiver falando sobre funções mas a gente consegue fazer e escrever no terminal várias variáveis de uma vez Então executando aqui esse programa ó nós temos aqui alguns logs e eu falei some né é soma executar de novo e isso aqui ó nós
temos o primeiro valor da soma que é igual a 30 e o segundo valor da subtração ou seja na soma né A + B 10 + 20 30 correto e o segundo a subtração nós temos 10 - 20 é - 10 né deu um número negativo eu posso trocar isso aqui para dar um número positivo b - a Mas de fato é a operação simples aí de soma tá que mais que nós temos nós temos multiplicação então aqui ó LED multiplicação vai ser a vezes o vezes aqui é o asterisco Cadê ele aqui ó a
x b certo eu posso fazer o console aqui também de multiplicação eh essas sugestões que aparecem aqui para mim o próprio vs code sugere e eu pressiono Tab ele aceita tá ele aplica a sugestão então nós podemos ó digitar eu posso usar a setinha aqui né para escolher algum valor que ele tá me sugerindo e pressiono o tab ele aceita tá eu acho que enter também funciona né multiplicação isso enter também funciona vou salvar e quando eu salvo nós temos Vamos executar né 200 aqui é o valor da multiplicação 10 x 20 200 correto além
da multiplicação nós temos também a divisão aqui let divisão vai receber o a bar B tá então operador de divisão é barra e logando aqui também a divisão posso aqui logar a divisão salvo arquivo e executa e nós temos aqui 0.5 que é o o 10 dividido por 20 tá correto também e nós temos um outro operador que ele é interessante também e é útil Em alguns momentos que é o operador de resto tá ou seja seria o resto da divisão então se eu pegar aqui a resto o resto aqui é porcentagem a resto b
e a gente fazer aqui o consol nós teremos como resultado 10 o que que isso significa quando eu pego 10 e divido por 20 e nós temos um outro operador que é um operador bem interessante também que é o operador de de resto tá então resto é igual a Na verdade o operador é porcentagem tá e ele vai retornar pra gente o resto da divisão então se eu dar o cons aqui ó nesse operador a gente pode ver que o resultado aqui vai ser 10 o que que isso significa que a dividido por B ou
seja 10 di por 20 O resultado é z0 porque né No 20 é maior que 10 e o resto que sobra é 10 né esse esse resto da divisão se a gente passar um número menor aqui tipo 10 e b = 3 e executar isso aqui o o resto da divisão vai ser um tá que é basicamente eh 10 di 3 é = 3 aqui 3 x 3 é 9 e sobra 1 né que é esse resto então nós temos esse operador também ele é bem útil às vezes tá e nós temos também aqui a
potência então potência vai ser a potência é duas excl duas as eh asteriscos né a vees vezes B na verdade aqui nós teremos o vamos logar aqui a potência o resultado aqui ó que vai ser eu não vou arriscar o resultado 1000 tá então na é nós conseguimos né elevar ao quadrado e nós temos aqui também a potência né que no caso é a exponenciação chamar aqui de exp que seria a ã asterisco asterisco B tá Ou seja é 10 elevado a 3 né e aqui a gente consegue criar qualquer potência mas é esse operador
exclamação exclamação que nós conseguimos fazer isso então se eu quero elevar a quadrado seria né o 10 Ah igual a 10 aqui ó 10 elevado a 2 Opa dois mas enfim é um outro operador também bastante útil tá printar aqui o exp PR a gente ver o resultado tá que dá 1000 Beleza então com esses operadores aritméticos definidos nós temos aqui também um outro operador que na verdade são os operadores de atribuição que a gente falou a gente tá falando aí sobre os operadores de atribuição a gente tá usando né o igual que é o
que eu atribuo um valor a uma variável mas nós temos outras formas de fazer atribuição então eu vou criar aqui uma variável variável x = 5 e aqui nós vamos fazer algum usar alguns atributos alguns operadores de atribuição diferentes tá então aqui eu vou dar um conso log em x e Aqui nós temos por exemplo ó eu tenho aqui o x ou seja eu vou atribuir a x o eu vou atribuir um novo valor que pode ser por exemplo 3 Só que nesse caso aqui eu não quero só atribuir o valor A TR eu quero
incrementar né Eu quero Somar 3 no valor de X então X é 5 eu quero que ele seja 8 então eu quero fazer basicamente isso ó x = x + 3 e aqui no consolle log eu vou comentar esse console aqui de cima e vamos executar nós temos aqui ó x = 8 tá só que a outra forma de fazer isso é o seguinte eu vou eu vou fazer assim a outra forma de fazer o outro operador seria mais igual tá 3 ou seja eu vou incrementar 3 no valor de X isso ISO aqui vai
funcionar vou comentar o que a gente usou anteriormente vamos executar e olha lá o resultado oito tá então eu vou deixar esse comentário aqui ó vou arrastar ele para cá pra gente ver esses operadores então nós temos vários operadores desse para a maioria dessas outras operações tá então eu posso fazer soma eu posso fazer subtração menos igual né 3 aqui se eu dou log O resultado vai ser 5 por que 5 eu somei TRS e subtraí TR de novo então eu mantenho no 5 isso aqui é referente a x = x - 3 e nós
temos isso aqui também para multiplicação e divisão n então x vezes igual Vamos colocar aqui 2 executando isso aqui nós temos o resultado 10 né Ou seja eu tô multiplicando 2 pelo valor que X tem ou seja x = 5 5 x 2 10 eu já multiplico e atribuo ã dentro de de X né dentro da mesma variável então x = x x 2 e eu tenho também a divisão então vou duplicar isso aqui ó dividido e aqui também é dividido tá E vai ser a mesma lógica no caso nosso resultado aqui vai continuar em
cinco porque eu multipliquei por dois e dividi por dois de novo então vai manter o cinco tá então esses aqui são os o outros operadores de atribuição que a gente não falou deles né que seria esses diferentes aqui isso aqui é é uma sintaxe um pouco diferente o código fica mais compacto mais legível Tá beleza então falamos operadores aritméticos operadores de atribuição agora vamos falar aqui sobre os operadores relacionais tá e o que que é um operador relacional ele vai relacionar dois valores né no caso o operador aritmético ele tava aplicando ali realizando uma operação
aritmética em cima de dois valores né de duas variáveis o relacional ele vai comparar esses valores e então eu vou criar aqui duas variáveis ó eu vou chamar de num 1 igual a 5 e eu vou eu vou trabalhar aqui com números né na na nesses nesses operadores e relacionais para ficar mais claro o que que ele tá como que é feita essas comparações então eu vou ter aqui ó c e do Tá eu vou deixar aqui o título ó operadores relacionais e a gente vai usar consol log para retornar o resultado para exibir o
resultado desses operadores então eu vou fazer o seguinte ó console pon log e Aqui nós temos o nosso primeiro operador que é o 5 = igual a 2 tá então o que que ele tá fazendo aqui ele tá comparando se 5 é igual a 2 basicamente isso se eu executar ele retornou um boleano ó o tipo boleano aí que nós falamos na aa anterior então 5 é igual a 2 não é na verdade a gente nem precisa dessas variáveis tá vamos tirar essas variáveis para ficar mais simples ainda a explicação aqui então 5 = 2
não é ele vai me retornar aqui ó fal e eu posso fazer por exemplo console log 5 é igual a 5 e isso aqui ele vai me retornar certo vamos executar Olha lá true 5 = 5 é E aí nós temos outro operador que é o igual é esse esse comparador é esse operador que que verifica se são iguais ou não só que nesse caso nós temos igais igual a 5 novamente Ou melhor aqui nós já podemos fazer diferente que que é isso eu estou comparando se o os valoros operos né eles TM valores iguais
e se eles são de tipos iguais então o que que é isso o número C É iG a string 5 não é n então se eu executar isso aqui ele retornou falso tá e se eu fizer a mesma operação a mesma comparação aqui ó 5 é igual a 5 usando esses três iguais executar isso aqui ele vai me retornar true Ou seja que é fal e aqui é true o que que tá acontecendo aqui além dele comparar se os valores são iguais com os três iguais aqui ele vai comparar se o tipo do dado também
é igual Então por mais que e aqui para mostrar eh que esse c e a string 5 ele pode retornar true eh não só quando quando eles são tipos iguais mas se eu usar esse operador anterior aqui que são só os dois iguais ou seja nos dois iguais ele ignora o tipo então se eu fizer isso aqui ó a string 5 é igual ao número C sem usar os três iguais isso aqui ele vai me retornar TR vou colocar ele por último aqui ó pra gente ver isso aqui o último Olha lá ele é true
e e são tipos diferentes Então esse problema do tipo do dado e principalmente entre números e Strings às vezes pode dar muito problema quando a gente tá trabalhando Principalmente quando a gente chega a nível de banco de dados enfim eh é uma coisa que a gente tende a sempre usar os três iguais para fazer comparação Porque além dele comparar se o valor é igual ele compara também se o tipo de dado é igual tá então é muito importante essa diferença e eu espero tem ficado bem claro tá essa essa comparação não só entre valor mas
também entre o tipo do dado Beleza então continuando aqui nos operadores relacionais e nós temos o outros operadores que é isso aqui ó console log eu quero saber se c é diferente de 5 então nós temos aqui o exclamação igual eu quero saber se cinco é diferente de cinco então nós temos aqui o exclamação igual né que é esse operador que vai comparar a diferença se os valores são diferentes ou não então é meio que o contrário da igualdade é o contrário da Igualdade né eu aqui eu tava verificando se era igual aqui eu vou
verificar se é diferente então eu tenho cinco diferente de cinco é falso porque 5 não é diferente 5 5 é igual a 5 então se eu fizer aqui ó se eu trocar aqui 5 é diferente de do isso aqui já vai ser true né executando aqui ó true tá então e aí nós temos a mesma o mesmo conceito aqui de de tipo nós temos também para esses caras então eu tenho o o mesmo aqui ó vamos trazer ele para cá só que com dois iguais né então esses dois novos que eu coloquei aqui eles vão
dar o mesmo resultado que os de cima porque os tipos dos dados são iguais né se eu transformar esse c aqui para string os dois né Vamos trocar aqui os dois ó 5 e 2 e a gente executar isso aqui ele retornou os dois últimos como true então Eh c é diferente de c não é diferente de do número cin né É igual só que como o tipo é diferente ele retornou como diferente né como true é verdadeira essa diferença aqui e da mesma forma o de baixo né no de baixo Eles já são diferentes
né 5 e 2 são diferentes mas eles também são de tipo diferente então ele vai retornar também como true tá então é basicamente é essa essa Esses são os comparadores de igualdade e de diferença e nós temos também outros comparadores relacionais que eles verificam por exemplo em números vai verificar a o a maior se é os comparadores que verifica se é maior ou menor né maior menor maior que igual q e maior ou igual e menor ou igual tá Então vamos trazer isso aqui para cá ó pra gente ter uma noção melhor então tenho aqui
ó console log e 2 é maior do que 5 não é né então isso aqui vai ser falso vamos executar aqui para ver ó falso então nós temos o símbolo aqui né Maior Que que vai fazer essa essa comparação né se o número é maior do que outro temos também 2 é menor que 5 menor aqui já vai ser n 2 é menor do 5 executando aqui olha o último valor a gente sempre adicionando no final N então sempre a gente olha último 2 é Men 5 tenho também o maior igual né Maior igual menor
igual L 2 é maior ou igual maior igual a e 5 Isso aqui vai ser falso certo certo do não é maior que cin muito menos igual tá agora se eu trocar isso aqui para igual vou duplicar aqui ó 5 é maior ou igual a 5 Isso aqui vai retornar true porque 5 é igual né ele satisfaz a condição da Igualdade aqui então olha lá ó temos aqui um erro esse esse erro foi da extensão tá o Code Runner às vezes ele vai dar alguns erros desses arquivos temporários porque o que que acontece tem uma
funcionalidade aqui nesse nessa extensão que eu tô usando para executar o arquivo que é eu selecionar um pedaço do código que eu quero botão direito Run code ele vai executar só a parte que eu selecionei tá então dá para executar assim também e quando a gente faz isso ele cria um arquivo temporário e executa o arquivo então às vezes quando eu salvo aqui e já clico em executar Pode ser que dê algum probleminha algum errinho desses aqui do Code Runner mas eh é só executar de novo e ele passa tá então voltando aqui né 5
é maior ou igual a que C sim é true né verdadeiro 5 é igual a 5 né e eu poderia ter uma outra verificação aqui por exemplo 6 6 é maior do que C né então o resultado aqui vai ser verdadeiro tá e nós temos também além do maior igual nós temos o menor igual que também segue a mesma lógica né dois é menor ou igual e 5 é né 2 é menor do que 5 vamos executar verdadeiro e eu posso fazer que também se 2 é menor ou igual a 2 né para satisfazer essa
condição de igual aí que no caso 2 é igual a 2 né vai retornar isso aqui como verdadeiro outro true aqui por último tá então esses operadores são aí os operadores relacionais beleza e depois deles nós temos aqui os operadores lógicos né que é o último tópico aqui dessa aula operadores lógicos esses operadores lógicos eles estão mais ligados à lógica boana tá que seria o quê seria o e né e ou né E nós temos também A negação né que seria um outro operador aí então eu posso verificar se algo se uma condição se satisfaz
e a outra condição e eu posso fazer também o ou né a operação de ou então esses operadores eles estão ligados à lógica boana tá então nós temos o e lógico o ou lógico e temos também A negação né o o Não lógico aí então basicamente seria eu verificar uma condição e outra condição né a condição ou outra condição pra gente ter um resultado final então o que que a gente pode fazer aqui agora eu vou criar duas variáveis tá então eu posso aqui por exemplo criar a variável idade e a e outra variável vai
ser por exemplo um boleano tá para a gente facilitar a compreensão aqui então eu vou ter idade e se eu possuo carteira possui carteira falso tá então o que que nós vamos fazer aqui eu vou fazer o console log comparando se a minha idade é maior do que 20 tá que vai ser verdadeiro e aqui vem o e lógico e eu possuo carteira então possui carteira igual a true se eu executar isso aqui eu vou comentar esses consol logs vamos executar isso aqui e a resposta é falsa tá porque o que que acontece aqui a
minha idade é maior do que 20 mas eu não possuo cara então o e lógico e eu vou deixar até aqui um comentário ó o e e lógico no e Lógico ele só vai satisfazer então ele só vai retornar como verdadeiro se as duas operações for verdadeira duas ou mais né eu posso ter mais operadores lógicos aqui juntos e enfim a gente pode criando essas condições Tá mas o que que eu tô V verificando a idade é maior que 20 é maior que 20 aqui é verdadeiro mas desse lado aqui é falso n eu possui
carteira é falso né ele não é igual a true e isso aqui vai retornar falso o resultado disso aqui vai ser falso e vai ficar verdadeiro e falso ele vai retornar falso tá então isso aqui retornaria verdadeiro se eu fizesse o seguinte né se a idade é maior do que 20 e possui carteira é igual a falso dessa forma aqui olha aqui o último log é true então no e Lógico eu tenho que ter as duas condições dos dois lados do operador tem que est retornando verdadeiro e aí o outro operador é o ou lógico
e no lógic e a diferença do e é que no ou somente um dos lados tem que ser verdadeiro então aqui ó essa mesma condição esse mesmo consol log aqui se eu trago ele pro ou e o operador de ou é os dois pipes né que é esse dois esse caractere aqui a gente chama ele de Pipe ele fica próximo do Z então shift Z vai escrever ele ou em alguns teclados ele vai est aqui próximo ao enter Mas de fato ele tá ele fica sempre próximo a control barra a contra barra né então a
barra contrária E se eu dou um shift e a tecla da Barra contrária eu digito Pipe né que é esse operador ou tá então que é esse operador ou Então nesse caso aqui deixa eu executar esse código nós teremos o resultado true né O que que eu tô verificando a idade é maior que 20 ou possui carteira igual a true idade é maior que 20 é então como possui carteira é isso aqui vai retornar falso né eu não possuo carteira ele vai retornar a expressão inteira como verdadeira porque uma parte foi completa né O um
pedaço aí da dessa dessa expressão dessa comparação foi é satisfeita tá então no ou lógico eu só preciso que um dos lados esteja Seja verdadeiro e eu posso fazer aqui um outro ó que seria um console log idade é maior que 30 ou seja isso aqui vai retornar falso ou possui carteira é igual a falso dessa forma aqui essa última expressão ele vai retornar como true também ó true porque possui carteira igual a falso Tá ok né satisfaz aí é uma comparação verdadeira então a expressão inteira vai retornar como verdadeira então essa primeira aqui ela
retorna false a segunda aqui retorna true eh Isso aqui vai retornar true e o essa última aqui também vai retornar true então quando que o ou retorna falso ele vai retornar falso se as duas comparações forem falsas tá então ele vai retornar falso aqui ó comó log idade é maior que 30 ou possui carteira é igual a true né é verdadeiro Então dessa forma aqui eh idade não é maior que 30 e possui carteira não é verdadeiro então o resultado disso aqui vai ser falso salvando isso aqui e executando temos lá ó falso tá então
os dois lados do operá os dois lados aqui da expressão retorn não foram satisfeitos né E então a expressão inteira retornou como falsa tá uma outra coisa que a gente pode estar fazendo aqui é que quando a gente tá trabalhando com boleano eu não preciso comparar um boleano com outro boleano então possui carteira é igual a true a gente não precisa fazer isso porque possui carteira já é um boleano né então eu posso eu posso poderia tirar essas comparações ó e os resultados seriam os mesmos né porque novamente possui carteira já é um boleano então
eu eu não tenho problema e usar a variável direto aqui né sem aquela comparação e os resultados aqui continuam os mesmos certo então a expressão inteira então a expressão inteira retornou como falso Tá e por último Aqui nós temos A negação né que seria o não e é basicamente o seguinte ó console. log é a forma de eu negar as coisas tá então por exemplo possui carteira é falso se eu fazer o console log de possui carteira da negação de possuir carteira ou seja o que que é A negação é a exclamação tá então eu
estou negando que possui carteira é o valor que ele é tá então se eu nego possui carteira se eu executar isso aqui ó vai retornar como true né que é esse último consol log ou seja o valor que é falso ficou true tá eu basicamente inverto né então se eu faço isso aqui ó consol um valor que é verdadeiro ou seja um boleano tru se eu nego ele ele vai me retornar falso tá então nós conseguimos negar ã essas expressões ou o resultado das expressões então ou as variáveis que são booleanos né a gente consegue
fazer essa negação esse não lógico então se eu quero verificar por exemplo se eu não possuo carteira né ou seja qual é a expressão que verifica se possui carteira é essa aqui tá se eu quiser negar ela eu coloco A negação Tá mas para colocar A negação vamos fazer isso aqui aqui embaixo para ficar melhor vou dar o conso log Na expressão ou melhor V vamos deixar esse posto carteira mais pro final vamos fazer aqui em idade tá então vou eu vou verificar se idade é maior que 20 beleza Isso aqui vai retornar true idade
é maior do que 20 só que se eu quiser negar esse resultado Ou seja eu estaria verificando se idade é menor do que 20 e para fazer essa negação Na verdade nesse exemplo aqui eu poderia trocar o sinal mas usando o operador de negação eu posso colocar parênteses né Por volta aqui do por volta da da expressão e colocar a exclamação aqui por fora tá então eu vou negar o resultado dessa expressão salvando isso aqui e executando ele vai retornar como falso tá então o valor que era true ele negou e ficou como falso da
mesma forma eu posso negar qualquer expressão né Qualquer expressão ou variável que como a gente fez aqui e possui carteira a gente consegue negar também tá então para essa aula aqui vai ser isso tá eu não vou me estender mais eu espero que eu tenha ajudado qualquer dúvida pode estar deixando um comentário logo abaixo e é isso aí muito obrigado e até a próxima [Música]