2021-06-15 00:49:18 -07:00
---
id: 56533eb9ac21ba0edf2244d8
2021-07-21 20:53:20 +05:30
title: Comparar com o operador lógico AND
2021-06-15 00:49:18 -07:00
challengeType: 1
videoUrl: 'https://scrimba.com/c/cvbRVtr'
forumTopicId: 16799
dashedName: comparisons-with-the-logical-and-operator
---
# --description--
2021-07-26 23:39:21 +09:00
Às vezes, você precisará testar mais de uma coisa de cada vez. O < dfn > operador lógico AND</ dfn > (`&&` ) retornará `true` apenas se os < dfn > operadores</ dfn > à esquerda e à direita forem verdadeiros.
2021-06-15 00:49:18 -07:00
2021-07-09 21:23:54 -07:00
O mesmo efeito pode ser alcançado aninhando uma instrução if dentro de outro if:
2021-06-15 00:49:18 -07:00
```js
if (num > 5) {
if (num < 10 ) {
return "Yes";
}
}
return "No";
```
2021-07-26 23:39:21 +09:00
só retornará `Yes` se `num` for maior que `5` e menor que `10` . A mesma lógica pode ser escrita assim:
2021-06-15 00:49:18 -07:00
```js
if (num > 5 & & num < 10 ) {
return "Yes";
}
return "No";
```
# --instructions--
2021-07-26 23:39:21 +09:00
Substitua as duas instruções if por uma declaração, usando o operador `&&` , que vai retornar a string `Yes` se `val` for menor ou igual a `50` e maior ou igual a `25` . Caso contrário, retornará a string `No` .
2021-06-15 00:49:18 -07:00
# --hints--
2021-07-09 21:23:54 -07:00
Você deve usar o operador `&&` uma vez
2021-06-15 00:49:18 -07:00
```js
assert(code.match(/& & /g).length === 1);
```
2021-07-09 21:23:54 -07:00
Você deve ter apenas um comando `if`
2021-06-15 00:49:18 -07:00
```js
assert(code.match(/if/g).length === 1);
```
2021-07-09 21:23:54 -07:00
`testLogicalAnd(0)` deve retornar a string `No`
2021-06-15 00:49:18 -07:00
```js
assert(testLogicalAnd(0) === 'No');
```
2021-07-09 21:23:54 -07:00
`testLogicalAnd(24)` deve retornar a string `No`
2021-06-15 00:49:18 -07:00
```js
assert(testLogicalAnd(24) === 'No');
```
2021-07-09 21:23:54 -07:00
`testLogicalAnd(25)` deve retornar a string `Yes`
2021-06-15 00:49:18 -07:00
```js
assert(testLogicalAnd(25) === 'Yes');
```
2021-07-09 21:23:54 -07:00
`testLogicalAnd(30)` deve retornar a string `Yes`
2021-06-15 00:49:18 -07:00
```js
assert(testLogicalAnd(30) === 'Yes');
```
2021-07-09 21:23:54 -07:00
`testLogicalAnd(50)` deve retornar a string `Yes`
2021-06-15 00:49:18 -07:00
```js
assert(testLogicalAnd(50) === 'Yes');
```
2021-07-09 21:23:54 -07:00
`testLogicalAnd(51)` deve retornar a string `No`
2021-06-15 00:49:18 -07:00
```js
assert(testLogicalAnd(51) === 'No');
```
2021-07-09 21:23:54 -07:00
`testLogicalAnd(75)` deve retornar a string `No`
2021-06-15 00:49:18 -07:00
```js
assert(testLogicalAnd(75) === 'No');
```
2021-07-09 21:23:54 -07:00
`testLogicalAnd(80)` deve retornar a string `No`
2021-06-15 00:49:18 -07:00
```js
assert(testLogicalAnd(80) === 'No');
```
# --seed--
## --seed-contents--
```js
function testLogicalAnd(val) {
// Only change code below this line
if (val) {
if (val) {
return "Yes";
}
}
// Only change code above this line
return "No";
}
testLogicalAnd(10);
```
# --solutions--
```js
function testLogicalAnd(val) {
if (val >= 25 & & val < = 50) {
return "Yes";
}
return "No";
}
```