Cómo convertir una cadena a un valor booleano en JavaScript correctamente
¡Hola a todos! Estoy empezando a aprender JavaScript y me encontré con un problema. Tengo una cadena que viene del servidor o de un formulario. Puede ser `"true"` o `"false"`. Necesito convertirla en un valor booleano real `true` o `false` para usarlo en condiciones.
Probé este código:
```javascript
let str = "false";
let bool = Boolean(str);
console.log(bool); // muestra true
```
¡Pero `Boolean("false")` devuelve `true`! Esto me confunde. Pensé que la cadena `"false"` debería convertirse en `false`. También probé la doble negación:
```javascript
let str = "false";
let bool = !!str;
console.log(bool); // también true
```
Y tampoco funciona. Entiendo que una cadena vacía `""` da `false`, y cualquier cadena no vacía da `true`. Pero necesito que la cadena `"false"` (la palabra exacta) se convierta en `false`, y `"true"` en `true`. ¿Cómo hacerlo correctamente? ¿Existe un método incorporado en JavaScript para esto? ¿O necesito escribir mi propia función? Agradecería una explicación detallada.