48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Comparisons with the && (logical AND) operator
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								## Comparisons with the && (logical AND) operator
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Problem explanation:
							 | 
						||
| 
								 | 
							
								· _Combine the two if statements into one statement which will return `"Yes"` if `val` is less than or equal to `50` and greater than or equal to `25`. Otherwise, will return `"No"`._
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### Hint 1
							 | 
						||
| 
								 | 
							
								The logical AND (`&&`) operator compares both statements and returns `true` only if both are true or can be converted to true (truthy).
							 | 
						||
| 
								 | 
							
								> _try to solve the problem now_
							 | 
						||
| 
								 | 
							
								> 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### Hint 2
							 | 
						||
| 
								 | 
							
								Remember that this effect can be also achieved by nesting `if` statements.
							 | 
						||
| 
								 | 
							
								> _try to solve the problem now_
							 | 
						||
| 
								 | 
							
								> 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Spoiler alert!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**Solution ahead!**
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Basic code solution:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```javascript
							 | 
						||
| 
								 | 
							
								function testLogicalAnd(val) {
							 | 
						||
| 
								 | 
							
								  // Only change code below this line
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (val <= 50 && val >= 25) {
							 | 
						||
| 
								 | 
							
								      return "Yes";
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // Only change code above this line
							 | 
						||
| 
								 | 
							
								  return "No";
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Change this value to test
							 | 
						||
| 
								 | 
							
								testLogicalAnd(10);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								· [Run code at repl.it](https://repl.it/@AdrianSkar/Basic-JS-Comparison-with-the-and-operator)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Code explanation
							 | 
						||
| 
								 | 
							
								The function first evaluates `if` the condition `val <= 50` evaluates to `true` converting `val` to a number if necessary, then does the same with `val >=25` because of the logical AND (`&&`) operator; if both return true, the `return "Yes"` statement is executed. 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Resources
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- ["Logical operators" - *MDN JavaScript reference*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators)
							 |