Tell us what’s happening:
Describe your issue in detail here.
Hi guys! so I’ve been following along with the logical operators prior to this and it’s been pretty straightforward up until I reached this “&&” from what I understand, it’s essentially compressing two operators into one to determine the left and right being right or false. What I don’t understand is why is it asking…" using the && operator, which will return the string Yes if val is less than or equal to 50 and greater than or equal to 25 . Otherwise, will return the string No " And when I look at the hint, the one comment with a solution is showing different numbers like 21 and something else. Can someone explain to me in an example or such, how this works? because I really want to understand it thank you so much for your time!
**Your code so far**
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);
**Your browser information:**
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15
Challenge: Comparisons with the Logical And Operator
The way the logical and operator works && is that if all conditions are true then the code inside the if statement will execute.
Here is an example of both conditions being true.
function testLogicalAnd(val) {
if (val > 10 && val < 30) {
return "Yes"
}
return "No";
}
//this function would return Yes for any number between 11 - 29
// You can test this yourself by using the console.log I added and seeing the result printed to the console.
console.log(testLogicalAnd(24))
testLogicalAnd(24);
Now let’s look at an example if one of the conditions is false
function testLogicalAnd(val) {
if (val > 10 && val < 30) {
return "Yes"
}
return "No";
}
//Even though the number 9 is less than 30 it is not greater than 10 so the function would return No
// You can test this yourself by using the console.log I added and seeing the result printed to the console.
console.log(testLogicalAnd(9))
testLogicalAnd(9);
Lastly, let’s look at an example where both conditions are false.
function testLogicalAnd(val) {
if (val > 10 && typeof val === "string") {
return "Yes"
}
return "No";
}
// The number 10 fails both conditions because 10 is not greater than 10 and 10 is not a string
// You can test this yourself by using the console.log I added and seeing the result printed to the console.
console.log(testLogicalAnd(10))
testLogicalAnd(10);
I would suggest playing around with different numbers to test your understanding of how the && operator works.
Also, here is a link to the typeof operator. You will learn about this later, but it returns a string indicating what type the operand is. In our example, typeof val === "string" would return false because the number 10 is not a string.
You can also use console.log (typeof val === "string") to see the result for yourself.