Estoy tratando de hacer que un botón cambie una cadena de 'Modo uno:' a 'Modo dos:', y cuando se presiona nuevamente, cambia de nuevo a 'Modo uno:' y así sucesivamente. Sin embargo, cuando ejecuto esto, cambiará la primera vez a 'Modo dos:' pero cuando lo presione de nuevo, no volverá al Modo uno.
Aquí está mi código:
Dar la vuelta <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>En su declaración if, está asignando un valor a una variable. El valor de esta operación siempre es cierto. Para comparar dos valores necesitas el operador == :
<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>Dado que está utilizando un solo "=", que no está comparando valores, está asignando un valor. Quiere usar "==" o "===":
if(currentMode == 'Mode one:'){ currentMode = 'Mode Two:' console.log(currentMode) }else if(currentMode == 'Mode Two:'){ currentMode = 'Mode one:' console.log(currentMode) }