Al igual que cualquier otro lenguaje de programación, JavaScript cuenta con docenas de truquitos para realizar tareas tanto fáciles como complicadas. Muchos trucos son ampliamente conocidos, pero seguro que hay otros que te volarán la cabeza. Dicho todo esto, vamos a echar un vistazo a estos seis trucos de JavaScript que puedes comenzar a usar desde hoy mismo.
Al igual que cualquier otro lenguaje de programación, JavaScript cuenta con docenas de truquitos para realizar tareas tanto fáciles como complicadas. Muchos trucos son ampliamente conocidos, pero seguro que hay otros que te volarán la cabeza. Dicho todo esto, vamos a echar un vistazo a estos seis trucos de JavaScript que puedes comenzar a usar desde hoy mismo.
Obtener valores únicos de un array
Obtener una variedad de valores únicos es probablemente más fácil de lo que piensas:
var j = [...new Set([1, 2, 3, 3])] >> [1, 2, 3]
Array y Boolean
¿Alguna vez has necesitado filtrar valores falsos (0, undefined, null, false, etc.) fuera de un array? Si es que sÃ, este truco te va a venir de perlas:
myArray .map(item => { // ... }) // Get rid of bad values .filter(Boolean);
¡Simplemente pasa Boolean y todos esos falsos valores desaparecerán!
Crear objetos vacÃos
Claro que puedes crear un objeto que parezca vacÃo con {}, pero dicho objeto contendra un __proto__ y el tÃpico hasOwnProperty además de los otros métodos del objeto. Sin embargo, hay una forma de crear un objeto de "diccionario" puro:
let dict = Object.create(null); // dict.__proto__ === "undefined" // No object properties exist until you add them
Fusionar objetos
La necesidad de combinar múltiples objetos en JavaScript ha existido desde siempre, especialmente cuando comenzamos a crear clases y widgets con opciones:
const person = { name: 'David Walsh', gender: 'Male' }; const tools = { computer: 'Mac', editor: 'Atom' }; const attributes = { handsomeness: 'Extreme', hair: 'Brown', eyes: 'Blue' }; const summary = {...person, ...tools, ...attributes}; /* Object { "computer": "Mac", "editor": "Atom", "eyes": "Blue", "gender": "Male", "hair": "Brown", "handsomeness": "Extreme", "name": "David Walsh", } */
Hacer obligatorios parámetros de funciones
Ser capaces de establecer valores por defecto en los argumentos de las funciones fue una inserción impresionante en JavaScript, pero echa un vistazo a este truco para solicitar que se pasen valores para un argumento dado:
const isRequired = () => { throw new Error('param is required'); }; const hello = (name = isRequired()) => { console.log(`hello ${name}`) }; // This will throw an error because no name is provided hello(); // This will also throw an error hello(undefined); // These are good! hello(null); hello('Jorge');
Obtener parámetros de la URL
Desde hace años utilizamos expresiones regulares para recuperar parámetros que se han pasado por la URL, pero existe una API que te puede ayudar muy mucho en dicha tarea:
// URL "?post=1234&action=edit" var urlParams = new URLSearchParams(window.location.search); console.log(urlParams.has('post')); // true console.log(urlParams.get('action')); // "edit" console.log(urlParams.getAll('action')); // ["edit"] console.log(urlParams.toString()); // "?post=1234&action=edit" console.log(urlParams.append('active', '1')); // "?post=1234&action=edit&active=1"