¿Hay alguna forma de acortar la función myFx() sin repetir document.getElementById('myID') ? Solo quiero devolver el Elemento si existe, si no lo hace, devolver "falso".
La función está funcionando bien de esa manera, pero me gustaría saber si hay alguna forma de acortarla un poco más.
HTML:
<div id="myID">Hello World!</div>JavaScript:
function myFx(){ return (document.getElementById('myID') === null) ? false : document.getElementById('myID'); } myFx().innerHTML = "Goodbye Cruel World!";Utilice el operador coalescente nulo (??) .
El operador coalescente nulo (??) es un operador lógico que devuelve su operando del lado derecho cuando su operando del lado izquierdo es
nulloundefinedy, de lo contrario, devuelve su operando del lado izquierdo.
function myFx() { return document.getElementById('myID') ?? false; } myFx().innerHTML = "Goodbye Cruel World!"; <div id="myID">Hello World!</div>La respuesta de @c0m1t es correcta, solo tenga en cuenta que esto podría no funcionar en navegadores más antiguos. No estoy seguro de si todavía es un problema real hoy en día, pero de todos modos... aquí hay una solución que debería funcionar incluso en navegadores antiguos.
function myFx(){ var element = document.getElementById('myID'); return element || false; } myFx().innerHTML = "Goodbye Cruel World!";