El fragmento de código de JavaScript para problemas comunes

Publicado: 2020-09-10

Última actualización el 27 de julio de 2021

Javascript Code Snippet | Long Javascript Code

Cada lenguaje de programación tiene sus defectos y peculiaridades. El lenguaje JavaScript e incluso el fragmento de código JavaScript utilizado no es una excepción. El lenguaje script se ha comportado de forma extraña en los últimos años, pero es uno de los lenguajes más utilizados en la actualidad. En su mayor parte se debe a que es el principal lenguaje interactivo de los navegadores de Internet.

Hay momentos, como programadores y codificadores, en los que tenemos problemas repetitivos de tareas simples en los que necesitamos fragmentos de código simples. En este blog, voy a presentar algunos problemas comunes que se pueden resolver fácilmente usando secuencias de comandos ES6 como parte de algunos fragmentos de código JavaScript.

Descubra cómo un fragmento de código de JavaScript puede solucionar su problema común

Sugerencia de fragmento de código de JavaScript: use 'let' en lugar de 'var'

let es como var pero let tiene alcance. let solo es accesible en el nivel de alcance del bloque en el que se declara y se le asigna un valor. var es accesible en cualquier nivel con respecto al alcance del bloque en el que está definido. En el siguiente ejemplo, la variable 'num1' se define dentro de una declaración If y, por lo tanto, no se puede acceder a ella fuera de la función.

 si es verdad) {
  sea ​​num1 = 40;
}

sea ​​num2 = 20;

consola.log(num2, numero1);
consola.log(num1);

Producción:
20
indefinido
 sea ​​a = 25;
sea ​​b = 50;

si es verdad) {
  sea ​​a = 100;
  var c = 5;
  consola.log(a/c);
  consola.log(b/c);
}

consola.log(c);
consola.log(a);

Producción:
20
10
5
25

Use 'const' cuando el valor de una variable no cambia

Javascript Code Snippet | Man Looking At Javascipt Code const asigna un valor constante a una variable que no se puede cambiar. Cada vez que se define una variable constante, JavaScript hace referencia a la dirección del valor de la variable.

La función de flecha del fragmento de código de JavaScript, una nueva sintaxis para las funciones

Las funciones de los fragmentos de código JavaScript en ES6 han cambiado a una expresión más simple, '() => {}'.

 // Sintaxis antigua
function miHola() {
  console.log("¡Hola mundo...!");
}

// Nueva sintaxis
var miHola = () => {
  console.log("¡Hola mundo...!");
}

La nueva sintaxis puede ser un poco confusa inicialmente. Hay dos partes de la sintaxis.

 var miHola = ()

La primera parte del fragmento de código de JavaScript declara una variable y le asigna la función (). Simplemente dice que la variable es una función.

 => { //hacer algo} 

Javascript Code Snippet | Javascipt Code on Black Background La segunda parte declara la parte del cuerpo de la función. La parte de la flecha con las llaves define la parte del cuerpo.

Otros ejemplos pero con parámetros.

 let withParameters = (a, b) => {
  consola.log(a+b);
}

con Parámetros (10, 20);

Producción:
30
 sea ​​sumOfNum = (a, b = 10) => {
  devuelve a + b;
}

consola.log(sumaDeNúmero(20);
consola.log(sumaDeNúmero(20,30);

Producción:
30
50
Cada lenguaje de programación tiene sus defectos y peculiaridades. El lenguaje JavaScript e incluso el fragmento de código JavaScript utilizado no es una excepción. Haz clic para twittear

Bucle nuevo' para... de...'

for…of es muy similar a for…in con ligeras modificaciones. for…of itera a través de una lista de elementos como un Array y devuelve los elementos (no su índice) uno por uno. Tenga en cuenta que la variable 'num' genera cada elemento de la matriz, no el índice.

 sean números = [5,6,7,8];

for (let num de numeros) {
  consola.log(valor);
}

Producción:
5
6
7
8
 let str = 'Arturo';

for (let char of str) {
  consola.log(char);
}

Producción:
A
r
t
tu
r
o

Destrucción de la asignación de variables

Asignar variables de una matriz una por una lleva mucho tiempo y es una tontería. Simplemente use la asignación de destructor para lograr esto de manera más rápida y fácil:

 let perfil = ['Juan', 32, 'ingeniero'];

let [nombre, edad, trabajo] = perfil;

consola.log(nombre);

Producción:
John

Encuentre un objeto específico en una matriz de objetos

Una de las tareas más comunes que debe realizar en JavaScript es iterar a través de una serie de objetos para encontrar uno específico. El método de búsqueda es una solución simple aquí. Simplemente ingresa los criterios de selección usando una función anónima como argumento, y listo:

 dejar personal = [
  {id: 0, nombre: 'Nina'},
  {id: 1, nombre: 'Kevin'},
  {id: 2, nombre: 'Juan'}
]

let empleado = staff.find(emp => emp.name === 'Juan');

consola.log(cliente);

Producción:
{id: 2, nombre: 'Juan'}

Bucle sobre claves y valores de un objeto

Javascript Code Snippet | Javascipt Code on White Background Nuestra estructura de datos podría ser un objeto complejo que contiene varios pares clave/valor. Iterar cada par puede ser un poco extraño, pero es sencillo una vez que usamos la función de Objeto.

Después de tomar las claves del objeto, podemos recorrer las claves y los valores al mismo tiempo. En la solución que sigue, accedemos a cada par usando las variables clave y valor durante el bucle.

 let myObject = { Peter: 15, John: 20, Anne: 35 };

Object.keys(myObject).forEach((clave, valor) => {
  //...hacer algo
  consola.log(clave, valor);
});

Producción:
Pedro 15
Juan 20
Ana 35

Filtrar una matriz de objetos en función de una condición

A veces tenemos una gran variedad de datos que queremos filtrar según una condición específica. Podemos una función de filtro para lograr esto. La siguiente solución tiene una matriz de rutas de archivo. Algunos archivos están en el directorio 'datos1' mientras que otros en el directorio 'datos2'. Pensemos que queremos filtrar solo por un directorio específico:

 dejar ubicación = [
  "archivos/datos1/archivo",
  "archivos/datos1/archivo2",
  "archivos/datos2/archivo",
  "archivos/datos2/archivo2"
];

let filtro = ubicación.filtro(ruta => ruta.incluye('datos2'));

consola.log(filtro);

Producción:
[ 'archivos/dir2/archivo', 'archivos/dir2/archivo2' ]

Al especificar que la cadena de ruta debe incluir la cadena 'datos2', filtramos las rutas que no contienen 'datos2'. Recuerde, cualquier función que pase al filtro debe devolver verdadero para que el elemento se incluya en el resultado.

Asignar claves a un objeto con el mismo nombre

Cuando asigna claves a un objeto, si la clave tiene el mismo nombre que la variable que contiene el valor que desea asignar, puede omitir la asignación de valor por completo. Esto evita que tengas que repetirte, algo que todos odiamos hacer. Echale un vistazo a éste ejemplo:

 let nombre = 'Juan';
sea ​​edad = 32;
let trabajo = 'ingeniero';

// en lugar de esto
let perfil1 = { nombre: nombre, edad: edad, trabajo: trabajo };

// hacer esto
let perfil2 = { nombre, edad, trabajo };

consola.log(perfil2);

Producción:
{ nombre: 'John', edad: 32, trabajo: 'ingeniero' }

Usando el operador de propagación ES6 '…'

El operador de extensión le permite literalmente "extender" una matriz. Esto se puede usar para transformar una matriz en una lista de argumentos o incluso combinar dos matrices. También puede usarlo para formar una lista de argumentos para una función.

En el primer ejemplo, mostramos cómo funciona el operador de distribución en una matriz y convierte cada elemento en un elemento individual.

 sean numeros1 = [1,2,3,4,5];

consola.log(...números1);

Producción:
1 2 3 4 5

El segundo ejemplo combina el contenido de dos matrices creando una nueva matriz temporal que contiene ambos contenidos.

 sean numeros2 = [6,7,8,9,10];

let combinado = [...números1, ...números2];

consola.log(...combinado);

Producción:
1 2 3 4 5 6 7 8 9 10

El último ejemplo ilustra cómo el operador de propagación puede convertir una matriz en una lista de argumentos para una función. Math.max devuelve el número más alto en una lista de argumentos que se le pasan. Uno de esos argumentos fue 10, que es el más alto.

 sean numeros1 = [1,2,3,4,5];

sean numeros2 = [6,7,8,9,10];

let combinado = [...números1, ...números2];

consola.log(Math.max(...combinado));

Producción:
10
Aprenda una nueva sintaxis para su fragmento de código JavaScript

Nuevas funciones Getters y Setters

Getters y setters son una de las características útiles introducidas en ES6. Es útil si estamos usando clases en JavaScript.

 clase NombrePersona {
  constructor(nombre) {
    este.nombre = nombre;
  }
  obtener Nombre() {
    devuelve este.nombre;
  }
  establecer Nombre(nombre) {
    este.nombre = nombre;
  }
}

let person = new PersonName("Jon Snow");
consola.log(persona.Nombre); // (A)

persona.Nombre = "Dany"; // (B)
consola.log(persona.Nombre);

Producción:
jon nieve
Dani

Podemos ver que hay dos funciones dentro de la clase PersonName con las propiedades 'get' y 'set'. La propiedad 'get' se usa para obtener el valor de la variable, y la propiedad 'set' se usa para establecer el valor de la variable. También podemos ver que la función obtener nombre (A) se llama sin paréntesis, y la función establecer nombre (B) se llama sin paréntesis, y es como asignar un valor a la variable.