¿Por qué funciona esto?
buttonGrid.addEventListener('click', e => { calculate(e); }); let calculate = (e) => { if (e.target.id === "back") { displayArea.textContent = displayArea.textContent.substring(0, displayArea.textContent.length - 1); } }Pero no esto...
buttonGrid.addEventListener('keydown', e => { calculate(e); }); let calculate = (e) => { if (e.keyCode === 8) { displayArea.textContent = displayArea.textContent.substring(0, displayArea.textContent.length - 1); } }Ver líneas 30-45 en: https://jsfiddle.net/s9ebLdvt/2/
Si cierro la sesión del tipo de e.keyCode, obtengo un número. Por lo tanto, uso un número en lugar de una cadena.
También intenté cambiar el === a == pero tengo el mismo problema.
Extrañamente, si coloco un registro de consola en la declaración if, se dispara, ¿simplemente no calcula el código?