'Having an if statement change a string back and forth [duplicate]
I am trying to make a button change a string from 'Mode One:' to 'Mode Two:', and when pressed again, changed back to 'Mode One:' and so on and so forth. However when I run this, it will change the first time to 'Mode Two:' but when I press it again, it will not go back to Mode One.
Here is my code:
Flip<script>
let currentMode = 'Mode one:'
flip = () => {
if(currentMode = 'Mode one:'){
currentMode = 'Mode Two:'
console.log(currentMode)
}else if(currentMode = 'Mode Two:'){
currentMode = 'Mode one:'
console.log(currentMode)
}
}
</script>
Solution 1:[1]
Since you are using a single "=", that is not comparing values, it is assigning a value. You want to use "==" or "===":
if(currentMode == 'Mode one:'){
currentMode = 'Mode Two:'
console.log(currentMode)
}else if(currentMode == 'Mode Two:'){
currentMode = 'Mode one:'
console.log(currentMode)
}
Solution 2:[2]
In your if statement, your are assigning a value to a variable. The value of this operation is always true. To compare two values you need the == operator:
<script>
let currentMode = 'Mode one:'
flip = () => {
if(currentMode == 'Mode one:'){
currentMode = 'Mode Two:'
console.log(currentMode)
}else if(currentMode == 'Mode Two:'){
currentMode = 'Mode one:'
console.log(currentMode)
}
}
</script>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | e-e |
| Solution 2 |
