6 truquitos de Javascript la mar de útiles

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"

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP