Lo siento si esto se preguntó antes, pero no estoy seguro de por qué este código no funciona. ¿Es if y else no posible usando charat?
let str = new String ('Hello'); if (str.charAt(0) == 'H') //console.log('H') console.log(str.charAt(0)) else if (str.charAt(1) == 'e') console.log(str.charAt(1))Gracias,
Según MDN,
La declaración if ejecuta una declaración si una condición específica es verdadera. Si la condición es falsa, se puede ejecutar otra declaración.
Entonces, una vez que su str.charAt(0) == 'H' sea verdadero, JS console.log H y seguirá adelante. Solo ejecutará el else if el primero if es falso.
let str = new String('Hello'); if (str.charAt(0) == 'b') console.log(str.charAt(0)) else if (str.charAt(1) == 'e') console.log(str.charAt(1)) Puede ver que al cambiar str.charAt(0) == 'H' a un carácter incorrecto, generará e porque el primer if es incorrecto y JS verificará la declaración else if
Está funcionando correctamente, porque cuando use if , entonces verificará la condición dentro del bloque if . Cuando use else if , solo se verificará si la condición if anterior no se cumple.
Si desea ejecutar código en 2 bloques de forma independiente, debe usar if en lugar de else if .
Cuenta a su código primero if el bloque se ejecutará e imprimirá H , es decir, console.log(str.charAt(0))
let str = new String('Hello'); if (str.charAt(0) == 'H') //console.log('H') console.log(str.charAt(0)) if (str.charAt(1) == 'e') console.log(str.charAt(1))