Abreviaciones útiles

Abreviaciones para acceder a elementos dom

 

Son útiles para hacer que tu código sea más limpio y compacto. Vamos a desglosar lo que hacen:

 

const $ = el => document.querySelector(el);
const titulo = $('#titulo'); // Selecciona el elemento con id "titulo"

 

  • querySelector(el) selecciona el primer elemento que coincida con el selector CSS que le pases (por ejemplo, una clase, un id, o una etiqueta).
  • La función el es el parámetro que defines para pasar un selector, como ".clase", "#id", o "p".

 

const $$ = el => document.querySelectorAll(el);
const parrafos = $$('p');

 

  • querySelectorAll(el) selecciona todos los elementos que coincidan con el selector CSS que le pases.
  • La diferencia con querySelector es que devuelve una NodeList, es decir, una lista de elementos.

 

 

Abreviación para addEventListener

 

 

const $ = el => document.querySelector(el);
const on = (el, ev, fn) => el.addEventListener(ev, fn);
on($('#miBoton'), 'click', () => alert('Botón clicado'));

 

  • el: el elemento al que quieres añadir el evento.
  • ev: el tipo de evento (por ejemplo, "click", "mouseover").
  • fn: la función que se ejecutará cuando ocurra el evento.

 

Abreviación para setTimeout

 

const delay = (fn, ms) => setTimeout(fn, ms);
delay(() => console.log('Ejecutado después de 2 segundos'), 2000);

 

  • fn: la función que quieres ejecutar.
  • ms: la cantidad de milisegundos que quieres esperar antes de ejecutarla.

 

Abreviación para localStorage

 

const setLS = (key, value) => localStorage.setItem(key, JSON.stringify(value));
const getLS = key => JSON.parse(localStorage.getItem(key));

setLS('usuario', { nombre: 'Juan', edad: 30 });
const usuario = getLS('usuario');
console.log(usuario.nombre); // "Juan"

 

Abreviación para seleccionar múltiples eventos

 

const $ = el => document.querySelector(el);
const onMultiple = (el, evs, fn) => evs.forEach(ev => el.addEventListener(ev, fn));
onMultiple($('#miBoton'), ['click', 'mouseover'], () => console.log('Evento activado'));

 

  • evs: un array de eventos.
  • fn: la función que se ejecutará.

 

Abreviación para eliminar clases de múltiples elementos

 

const $$ = el => document.querySelectorAll(el);
const removeClass = (els, cls) => els.forEach(el => el.classList.remove(cls));
removeClass($$('.mi-clase'), 'activo'); // Elimina la clase "activo" de todos los elementos con la clase "mi-clase"

 

Abreviación para fetch simplificada

 

const getJSON = url => fetch(url).then(res => res.json());
getJSON('https://api.example.com/data').then(data => console.log(data));

 

Abreviación para el operador ternario o condicional corto

 

const ifElse = (condition, ifTrue, ifFalse) => condition ? ifTrue : ifFalse;
let esAdulto = ifElse(edad >= 18, 'Adulto', 'Menor de edad');
console.log(esAdulto); // "Adulto" si edad >= 18

 

Abreviación para obtener el valor de un input

 

const val = el => document.querySelector(el).value;
let nombre = val('#nombreInput');
console.log(nombre); // Imprime el valor del input con id "nombreInput"

 

Abreviación para crear elementos HTML

 

const createEl = (tag, props = {}) => Object.assign(document.createElement(tag), props);
let nuevoDiv = createEl('div', { id: 'miDiv', className: 'contenedor', textContent: 'Hola Mundo' });
document.body.appendChild(nuevoDiv); // Añade el nuevo div al body

 

  • tag: el tipo de etiqueta HTML que deseas crear (por ejemplo, 'div', 'p').
  • props: un objeto con propiedades como id, className, textContent, etc.

 

Abreviación para console.log

 

const log = console.log.bind(console);
log('Esto es un log más corto');

 

Abreviación para obtener la longitud de una lista de nodos

 

const count = el => document.querySelectorAll(el).length;
let totalParrafos = count('p'); // Número de párrafos en la página
console.log(totalParrafos);

 

Abreviación para convertir NodeList a Array

 

const $$ = el => document.querySelectorAll(el);
const toArray = nodeList => Array.from(nodeList);
let parrafos = toArray($$('p'));
parrafos.map(p => console.log(p.textContent)); // Itera sobre los párrafos

 

Abreviación para copiar al portapapeles

 

const copyToClipboard = str => navigator.clipboard.writeText(str);
copyToClipboard('Texto copiado al portapapeles');

 

Abreviación para desestructurar objetos profundamente

 

const deepGet = (obj, keys) => keys.reduce((acc, key) => acc && acc[key], obj);
let persona = { nombre: { primer: 'Juan', apellido: 'Pérez' } };
let primerNombre = deepGet(persona, ['nombre', 'primer']); // 'Juan'

 

Abreviación para eliminar duplicados de un array

 

const unique = arr => [...new Set(arr)];
let numeros = [1, 2, 3, 3, 4, 5, 5];
let sinDuplicados = unique(numeros); // [1, 2, 3, 4, 5]

 

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.