1640928732
Las asignaciones de descarte en JavaScript proporcionan una forma SECA ordenada de extraer valores de matrices y objetos.
El propósito de este artículo es mostrar exactamente cómo funcionan las asignaciones no estructuradas de matrices y objetos en JavaScript.
Así que comencemos a descartar la matriz sin más problemas.
Descartar una matriz es una técnica única que le permite extraer correctamente los valores de una matriz en una nueva variable.
Por ejemplo, en lugar de utilizar la técnica de asignación no estructurada de la matriz, copie los valores de la matriz en una nueva variable de la siguiente manera:
const profile = ["Oluwatobi", "Sofela", "codesweetly.com"];
const firstName = profile[0];
const lastName = profile[1];
const website = profile[2];
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Tenga en cuenta que el fragmento anterior contiene una gran cantidad de código repetido que no es un método de codificación DRY ( D on't R epeat Y sí mismo).
Ahora veamos cómo la descomposición de la matriz hace que las cosas estén limpias y secas.
const profile = ["Oluwatobi", "Sofela", "codesweetly.com"];
const [firstName, lastName, website] = profile;
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Verá, como por arte de magia, tenemos tres nuevas variables (en, colocando nuestro código se ha limpiado firstName
, lastName
y, website
objeto de matriz (a) [...]
). Luego les profile
asigné valores de matriz.
Es decir, le indiqué a la computadora que extrajera los valores de la matriz en las variables a laprofile
izquierda del operador de asignación .
Por lo tanto, JavaScript profile
analiza la matriz y copia su primer valor ( "Oluwatobi"
) a la primera variable ( firstName
) en la matriz no estructurada .
De manera similar, la computadora extrae el segundo profile
valor ( "Sofela"
) de la matriz en la segunda variable ( lastName
) de la matriz no estructurada .
Finalmente, JavaScript copia el tercer profile
valor ( "codesweetly.com"
) de la matriz a la tercera variable ( website
) de la matriz no estructurada .
Tenga en cuenta que el fragmento anterior se profile
refiere a la matriz y descompone la matriz. Sin embargo, también puede destruir la matriz directamente. Veamos como.
Puede usar JavaScript para descomponer la matriz directamente de la siguiente manera:
const [firstName, lastName, website] = [
"Oluwatobi",
"Sofela",
"codesweetly.com"
];
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Suponga que desea separar las declaraciones de variables de esas asignaciones. En ese caso, puede manejarlo con JavaScript. Veamos como.
Siempre que use una matriz no estructurada, puede usar JavaScript para separar las declaraciones de variables de sus asignaciones.
Aquí hay un ejemplo:
let firstName, lastName, website;
[firstName, lastName, website] = ["Oluwatobi", "Sofela", "codesweetly.com"];
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
"Oluwatobi"
¿Qué sucede si quiero asignarlo a una variable firstName
y quiero asignar el resto de los elementos de la matriz a otra variable? ¿Cómo lo haces? Averigüemos a continuación.
Con JavaScript, puede usar el operador rest en una matriz rota para asignar el resto de una matriz regular a una variable.
Aquí hay un ejemplo:
const [firstName, ...otherInfo] = ["Oluwatobi", "Sofela", "codesweetly.com"];
console.log(firstName); // "Oluwatobi"
console.log(otherInfo); // ["Sofela", "codesweetly.com"]
Nota: Utilice siempre el operador rest como último elemento de la matriz de descarte para que no obtenga SyntaxError
.
Ahora, ¿qué pasa si solo quieres extraer "codesweetly.com"
? Las técnicas que se pueden utilizar se describen a continuación.
A continuación, se explica cómo utilizar el descarte de matriz para extraer valores en cualquier posición de índice en una matriz regular:
const [, , website] = ["Oluwatobi", "Sofela", "codesweetly.com"];
console.log(website); // "codesweetly.com"
En el fragmento anterior, utilicé una coma para omitir las variables en la primera y segunda posiciones de índice de la matriz que se va a destruir.
Al hacerlo, pude vincular la website
variable al tercer valor de índice (es decir "codesweetly.com"
) de la matriz regular a la derecha del operador de asignación .
Sin embargo, puede haber valores que desee extraer de la matriz undefined
. En ese caso, JavaScript proporciona una forma de establecer valores predeterminados para las matrices que desea destruir. Echemos un vistazo más de cerca a esto a continuación.
Establecer un valor predeterminado es undefined
útil si el valor que desea extraer de la matriz no existe (o está configurado ).
A continuación, se explica cómo configurarlo en una matriz destructiva:
const [firstName = "Tobi", website = "CodeSweetly"] = ["Oluwatobi"];
console.log(firstName); // "Oluwatobi"
console.log(website); // "CodeSweetly"
El fragmento anterior "Tobi"
establece y como valor predeterminado para la variable "CodeSweetly"
.firstNamewebsite
Por lo tanto, si intenta extraer el primer valor de índice de la matriz de la derecha, la computadora toma de forma predeterminada "CodeSweetly"
- porque solo hay un valor de índice cero en - ["Oluwatobi"]
.
Entonces, firstName
¿qué pasa si hay una necesidad de valorar el valor del intercambio website
o? Nuevamente, puede usar Discard Array para completar su trabajo. Veamos como.
Puede utilizar asignaciones de destrucción de matrices para intercambiar los valores de dos o más variables diferentes.
Aquí hay un ejemplo:
let firstName = "Oluwatobi";
let website = "CodeSweetly";
[firstName, website] = [website, firstName];
console.log(firstName); // "CodeSweetly"
console.log(website); // "Oluwatobi"
En el fragmento anterior, usamos la descomposición directa de matrices para reasignar variables firstName
y website
variables con los valores de los literales de matriz a la derecha del operador de asignación .
Por lo tanto, firstName
el valor de "Oluwatobi"
cambia a "CodeSweetly"
. Por otro lado, website
el contenido de se "CodeSweetly"
cambia a "Oluwatobi"
.
Tenga en cuenta que también puede usar el descarte de matriz para extraer valores de una matriz regular a los parámetros de una función. Esto se explica en detalle a continuación.
A continuación, se explica cómo utilizar el descarte de matriz para extraer valores de matriz en parámetros de función:
// Define an array with two items:
const profile = ["Oluwatobi", "Sofela"];
// Define a function with one destructuring array containing two parameters:
function getUserBio([firstName, lastName]) {
return `My name is ${firstName} ${lastName}.`;
}
// Invoke getUserBio while passing the profile array as an argument:
getUserBio(profile);
// The invocation above will return:
"My name is Oluwatobi Sofela."
En el fragmento anterior, usando un parámetro de destrucción matriz, profile
el valor de la matriz getUserBio
's firstName
y lastName
se extrajo parámetros.
Nota: los parámetros no estructurados de la matriz, por lo general, la no estructura de los parámetros se llama voluntad .
Aquí hay otro ejemplo:
// Define an array with two string values and one nested array:
const profile = ["codesweetly.com", "Male", ["Oluwatobi", "Sofela"]];
// Define a function with two destructuring arrays containing a parameter each:
function getUserBio([website, , [userName]]) {
return `${userName} runs ${website}`;
}
// Invoke getUserBio while passing the profile array as an argument:
getUserBio(profile);
// The invocation above will return:
"Oluwatobi runs codesweetly.com"
En el fragmento anterior, utilizando dos secuencias de parámetros de destrucción, profile
los valores de la matriz getUserBio
's website
y userName
se extrajo parámetros.
Es posible que deba llamar a una función que contenga parámetros de destrucción sin pasar ningún argumento. En ese caso, debe utilizar una técnica que evite que el navegador lance TypeError
.
Conozca las siguientes técnicas:
Considere la siguiente función.
function getUserBio([firstName]) {
console.log(
"Do something else that does not need the destructuring parameter."
);
return `My name is ${firstName}.`;
}
Ahora getUserBio
llamemos a la función sin pasar ningún argumento a los parámetros de destrucción.
getUserBio();
getUserBio
Después de llamar a la función anterior, el navegador TypeError: undefined is not iterable
. Lanza un error como.
Este TypeError
mensaje se produce porque la función que contiene el parámetro de destrucción espera especificar al menos un argumento.
Por lo tanto, puede evitar estos mensajes de error asignando argumentos predeterminados al parámetro de desestructuración.
Aquí hay un ejemplo:
function getUserBio([firstName] = []) {
console.log(
"Do something else that does not need the destructuring parameter."
);
return `My name is ${firstName}.`;
}
Observe que el fragmento de código anterior asigna una matriz vacía como argumento predeterminado para el parámetro de destrucción.
Ahora getUserBio
llamemos a la función sin pasar ningún argumento a los parámetros de destrucción.
getUserBio();
Las salidas de la función:
"Do something else that does not need the destructuring parameter."
"My name is undefined."
Tenga en cuenta que no tiene que utilizar una matriz vacía como argumento predeterminado para los parámetros de destrucción. null
O puede utilizar otros valores que no lo sean undefined
.
Ahora que sabe cómo funciona el descarte de matrices, hablemos del descarte de objetos para que pueda ver la diferencia.
Descartar un objeto es una técnica única que le permite extraer correctamente el valor de un objeto en una nueva variable.
Por ejemplo, en lugar de utilizar una técnica de asignación que destruye un objeto, extraiga el valor del objeto en una nueva variable de la siguiente manera:
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
const firstName = profile.firstName;
const lastName = profile.lastName;
const website = profile.website;
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Tenga en cuenta que el fragmento anterior contiene una gran cantidad de código repetido que no es un método de codificación DRY ( D on't R epeat Y sí mismo).
Ahora veamos cómo las cosas se vuelven más limpias y secas con una tarea de destrucción de objetos.
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
const { firstName: firstName, lastName: lastName, website: website } = profile;
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Como puede ver, limpiamos mágicamente el código {...}
colocando tres nuevas variables en la propiedad objeto ( ) profile
y asignándoles los valores del objeto.
Es decir, le indiqué a la computadora que extrajera profile
el valor del objeto en la variable a la izquierda del operador de asignación .
Por lo tanto, JavaScript profile
analiza "Oluwatobi"
el objeto firstName
y copia su primer valor ( ) a la primera variable ( ) del objeto que lo destruye .
De manera similar, la computadora extrae el segundo profile
valor "Sofela"
del objeto ( ) en la segunda variable del objeto de destrucción ( lastName
).
Finalmente, JavaScript copia el tercer profile
valor "codesweetly.com"
del objeto ( ) a la tercera variable del objeto de destrucción ( website
).
Tenga en cuenta que { firstName: firstName, lastName: lastName, website: website }
la clave es una referencia a profile
la propiedad del objeto; el valor de la clave representa una nueva variable.
Estructura del objeto JavaScript Estructura de la asignación de destrucción
Alternativamente, puede usar una sintaxis abreviada para que su código sea más fácil de leer.
Aquí hay un ejemplo:
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
const { firstName, lastName, website } = profile;
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
En el fragmento de arriba, se redujo { firstName: firstName, age: age, gender: gender }
a { firstName, age, gender }
. Obtenga más información sobre las técnicas de taquigrafía aquí .
Tenga en cuenta que el fragmento anterior muestra cómo asignar el valor de un objeto a una variable cuando tanto la propiedad del objeto como la variable tienen el mismo nombre.
Sin embargo, también puede asignar el valor de la propiedad a una variable con un nombre diferente. Veamos como.
En JavaScript, puede usar la destrucción de objetos para extraer el valor de una propiedad en una variable, incluso si tanto la propiedad como el nombre de la variable son diferentes.
Aquí hay un ejemplo:
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
const { firstName: forename, lastName: surname, website: onlineSite } = profile;
console.log(forename); // "Oluwatobi"
console.log(surname); // "Sofela"
console.log(onlineSite); // "codesweetly.com"
console.log(website); // "ReferenceError: website is not defined"
En el fragmento anterior, la computadora extrajo con éxito profile
el valor del objeto en una variable con un nombre forename
, surname
y la onlineSite
propiedad -even y la variable tienen nombres diferentes.
Nota:const { firstName: forename } = profile
es equivalente const forename = profile.firstName
a.
Aquí hay otro ejemplo:
const profile = {
lastName: { familyName: "Sofela" }
};
const { lastName: { familyName: surname } } = profile;
console.log(surname); // "Sofela"
En el fragmento anterior, la computadora extrajo con éxito profile
el valor del objeto en la surname
variable, aunque la propiedad y la variable se nombraron de manera diferente .
Nota:const { lastName: { familyName: surname } } = profile
es equivalente const surname = profile.lastName.familyName
a.
profile
Observe que hemos estado haciendo referencia al objeto y desestructurando hasta ahora . Sin embargo, también puede destruir el objeto directamente. Veamos como.
En JavaScript, puede destruir directamente el objeto de propiedad de la siguiente manera:
const { firstName, lastName, website } = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Suponga que desea separar las declaraciones de variables de esas asignaciones. En ese caso, puede manejarlo con JavaScript. Veamos como.
Siempre que use la destrucción de objetos, puede usar JavaScript para separar las declaraciones de variables de sus asignaciones.
Aquí hay un ejemplo:
// Declare three variables:
let firstName, lastName, website;
// Extract values to the three variables above:
({ firstName, lastName, website } = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
});
// Invoke the three variables:
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Nota:
;
Coloque un punto y coma () después del paréntesis de la asignación de destrucción del objeto. Si lo hace, evitará que la computadora interprete el paréntesis como el llamador de una función que puede estar en la línea anterior."Oluwatobi"
¿Qué sucede si quiero asignarlo a una variable firstName
y quiero asignar los valores restantes de un objeto a otra variable? ¿Cómo puedo hacer esto? Averigüemos a continuación.
Con JavaScript, puede utilizar el operador rest dentro de un objeto destruido para asignar el resto del literal del objeto a una variable.
Aquí hay un ejemplo:
const { firstName, ...otherInfo } = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
console.log(firstName); // "Oluwatobi"
console.log(otherInfo); // {lastName: "Sofela", website: "codesweetly.com"}
Nota: Utilice siempre el operador de descanso como último elemento del objeto de descarte para que no lo obtenga SyntaxError
.
En algunos casos, el valor a extraer del objeto de propiedad undefined
es. En ese caso, JavaScript proporciona una forma de establecer valores predeterminados para el objeto de destrucción. Echemos un vistazo más de cerca a esto a continuación.
Establecer un valor predeterminado es undefined
útil si el valor que desea extraer del objeto no existe (o está configurado ).
A continuación, se explica cómo configurarlo dentro del objeto Propiedades de destrucción:
const { firstName = "Tobi", website = "CodeSweetly" } = {
firstName: "Oluwatobi"
};
console.log(firstName); // "Oluwatobi"
console.log(website); // "CodeSweetly"
El fragmento anterior "Tobi"
establece y como valor predeterminado para la variable "CodeSweetly"
.firstNamewebsite
Por lo tanto, si intenta extraer el valor de la segunda propiedad del objeto de la derecha, la computadora toma el valor predeterminado "CodeSweetly"
, porque solo hay una propiedad en , de manera predeterminada {firstName: "Oluwatobi"}
.
Entonces, firstName
¿qué pasa si hay una necesidad de valorar el valor del intercambio website
o? Nuevamente, puede ejecutar el trabajo mediante la destrucción de objetos. Veamos el siguiente método.
Puede utilizar asignaciones de destrucción de objetos para intercambiar los valores de dos o más variables diferentes.
Aquí hay un ejemplo:
let firstName = "Oluwatobi";
let website = "CodeSweetly";
({ firstName, website } = {firstName: website, website: firstName});
console.log(firstName); // "CodeSweetly"
console.log(website); // "Oluwatobi"
El fragmento anterior utilizó la descomposición directa de objetos para reasignar variables firstName
y website
variables con el valor del objeto literal a la derecha del operador de asignación .
Por lo tanto, firstName
el valor de "Oluwatobi"
cambia a "CodeSweetly"
. Por otro lado, website
el contenido de se "CodeSweetly"
cambia a "Oluwatobi"
.
Tenga en cuenta que también puede utilizar la destrucción de objetos para extraer valores de propiedades a parámetros de función. Esto se explica en detalle a continuación.
A continuación, se explica cómo utilizar la destrucción de objetos para copiar el valor de una propiedad en el parámetro de una función:
// Define an object with two properties:
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
};
// Define a function with one destructuring object containing two parameters:
function getUserBio({ firstName, lastName }) {
return `My name is ${firstName} ${lastName}.`;
}
// Invoke getUserBio while passing the profile object as an argument:
getUserBio(profile);
// The invocation above will return:
"My name is Oluwatobi Sofela."
El fragmento de arriba, utiliza parámetros no estructurales del objeto para copiar profile
el valor del objeto a la getUserBio
Sra. firstName
Y los lastName
parámetros.
Nota: el parámetro no estructurado del objeto es, por lo general, la no estructura de los parámetros se llama voluntad .
Aquí hay otro ejemplo:
// Define an object with three-parent properties:
const profile = {
website: "codesweetly.com",
gender: "Male",
fullName: {
firstName: "Oluwatobi",
lastName: "Sofela"
}
};
// Define a function with two destructuring objects containing a parameter each:
function getUserBio({ website, fullName: { firstName: userName } }) {
return `${userName} runs ${website}`;
}
// Invoke getUserBio while passing the profile object as an argument:
getUserBio(profile);
// The invocation above will return:
"Oluwatobi runs codesweetly.com"
Pruébelo con StackBlitz
En el fragmento de arriba, para copiar, usamos dos parámetros no estructurales profile
el valor del objeto a la getUserBio
Sra. website
Y los userName
parámetros.
Nota: Si tiene alguna pregunta sobre los parámetros de destrucción anteriores, puede tener una mejor idea al revisar esta sección .
Es posible que deba llamar a una función que contenga parámetros de destrucción sin pasar ningún argumento. En ese caso, debe utilizar una técnica que evite que el navegador lance TypeError
.
Conozca las siguientes técnicas:
Considere la siguiente función.
function getUserBio({ firstName }) {
console.log(
"Do something else that does not need the destructuring parameter."
);
return `My name is ${firstName}.`;
}
Ahora getUserBio
llamemos a la función sin pasar ningún argumento a los parámetros de destrucción.
getUserBio();
getUserBio
Después de llamar a la función anterior, el navegador TypeError: (destructured parameter) is undefined
. Lanza un error como.
Este TypeError
mensaje se produce porque la función que contiene el parámetro de destrucción espera especificar al menos un argumento.
Por lo tanto, puede evitar estos mensajes de error asignando argumentos predeterminados al parámetro de desestructuración.
Aquí hay un ejemplo:
function getUserBio({ firstName } = {}) {
console.log(
"Do something else that does not need the destructuring parameter."
);
return `My name is ${firstName}.`;
}
Tenga en cuenta que el fragmento de código anterior asigna un objeto vacío como argumento predeterminado para el parámetro de destrucción.
Ahora getUserBio
llamemos a la función sin pasar ningún argumento a los parámetros de destrucción.
getUserBio();
Las salidas de la función:
"Do something else that does not need the destructuring parameter."
"My name is undefined."
Tenga en cuenta que no tiene que utilizar un objeto vacío como argumento predeterminado para el parámetro de destrucción. null
O puede utilizar otros valores que no lo sean undefined
.
Descartar matrices y objetos también funciona. Las principales diferencias entre las dos asignaciones destructivas son:
En este artículo, expliqué cómo funciona la destrucción de matrices y objetos en JavaScript. También analizamos las principales diferencias entre las dos asignaciones destructivas.
¡gracias por leer!
Enlace: https://www.freecodecamp.org/news/array-vs-object-destructuring-in-javascript/
1640928732
Las asignaciones de descarte en JavaScript proporcionan una forma SECA ordenada de extraer valores de matrices y objetos.
El propósito de este artículo es mostrar exactamente cómo funcionan las asignaciones no estructuradas de matrices y objetos en JavaScript.
Así que comencemos a descartar la matriz sin más problemas.
Descartar una matriz es una técnica única que le permite extraer correctamente los valores de una matriz en una nueva variable.
Por ejemplo, en lugar de utilizar la técnica de asignación no estructurada de la matriz, copie los valores de la matriz en una nueva variable de la siguiente manera:
const profile = ["Oluwatobi", "Sofela", "codesweetly.com"];
const firstName = profile[0];
const lastName = profile[1];
const website = profile[2];
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Tenga en cuenta que el fragmento anterior contiene una gran cantidad de código repetido que no es un método de codificación DRY ( D on't R epeat Y sí mismo).
Ahora veamos cómo la descomposición de la matriz hace que las cosas estén limpias y secas.
const profile = ["Oluwatobi", "Sofela", "codesweetly.com"];
const [firstName, lastName, website] = profile;
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Verá, como por arte de magia, tenemos tres nuevas variables (en, colocando nuestro código se ha limpiado firstName
, lastName
y, website
objeto de matriz (a) [...]
). Luego les profile
asigné valores de matriz.
Es decir, le indiqué a la computadora que extrajera los valores de la matriz en las variables a laprofile
izquierda del operador de asignación .
Por lo tanto, JavaScript profile
analiza la matriz y copia su primer valor ( "Oluwatobi"
) a la primera variable ( firstName
) en la matriz no estructurada .
De manera similar, la computadora extrae el segundo profile
valor ( "Sofela"
) de la matriz en la segunda variable ( lastName
) de la matriz no estructurada .
Finalmente, JavaScript copia el tercer profile
valor ( "codesweetly.com"
) de la matriz a la tercera variable ( website
) de la matriz no estructurada .
Tenga en cuenta que el fragmento anterior se profile
refiere a la matriz y descompone la matriz. Sin embargo, también puede destruir la matriz directamente. Veamos como.
Puede usar JavaScript para descomponer la matriz directamente de la siguiente manera:
const [firstName, lastName, website] = [
"Oluwatobi",
"Sofela",
"codesweetly.com"
];
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Suponga que desea separar las declaraciones de variables de esas asignaciones. En ese caso, puede manejarlo con JavaScript. Veamos como.
Siempre que use una matriz no estructurada, puede usar JavaScript para separar las declaraciones de variables de sus asignaciones.
Aquí hay un ejemplo:
let firstName, lastName, website;
[firstName, lastName, website] = ["Oluwatobi", "Sofela", "codesweetly.com"];
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
"Oluwatobi"
¿Qué sucede si quiero asignarlo a una variable firstName
y quiero asignar el resto de los elementos de la matriz a otra variable? ¿Cómo lo haces? Averigüemos a continuación.
Con JavaScript, puede usar el operador rest en una matriz rota para asignar el resto de una matriz regular a una variable.
Aquí hay un ejemplo:
const [firstName, ...otherInfo] = ["Oluwatobi", "Sofela", "codesweetly.com"];
console.log(firstName); // "Oluwatobi"
console.log(otherInfo); // ["Sofela", "codesweetly.com"]
Nota: Utilice siempre el operador rest como último elemento de la matriz de descarte para que no obtenga SyntaxError
.
Ahora, ¿qué pasa si solo quieres extraer "codesweetly.com"
? Las técnicas que se pueden utilizar se describen a continuación.
A continuación, se explica cómo utilizar el descarte de matriz para extraer valores en cualquier posición de índice en una matriz regular:
const [, , website] = ["Oluwatobi", "Sofela", "codesweetly.com"];
console.log(website); // "codesweetly.com"
En el fragmento anterior, utilicé una coma para omitir las variables en la primera y segunda posiciones de índice de la matriz que se va a destruir.
Al hacerlo, pude vincular la website
variable al tercer valor de índice (es decir "codesweetly.com"
) de la matriz regular a la derecha del operador de asignación .
Sin embargo, puede haber valores que desee extraer de la matriz undefined
. En ese caso, JavaScript proporciona una forma de establecer valores predeterminados para las matrices que desea destruir. Echemos un vistazo más de cerca a esto a continuación.
Establecer un valor predeterminado es undefined
útil si el valor que desea extraer de la matriz no existe (o está configurado ).
A continuación, se explica cómo configurarlo en una matriz destructiva:
const [firstName = "Tobi", website = "CodeSweetly"] = ["Oluwatobi"];
console.log(firstName); // "Oluwatobi"
console.log(website); // "CodeSweetly"
El fragmento anterior "Tobi"
establece y como valor predeterminado para la variable "CodeSweetly"
.firstNamewebsite
Por lo tanto, si intenta extraer el primer valor de índice de la matriz de la derecha, la computadora toma de forma predeterminada "CodeSweetly"
- porque solo hay un valor de índice cero en - ["Oluwatobi"]
.
Entonces, firstName
¿qué pasa si hay una necesidad de valorar el valor del intercambio website
o? Nuevamente, puede usar Discard Array para completar su trabajo. Veamos como.
Puede utilizar asignaciones de destrucción de matrices para intercambiar los valores de dos o más variables diferentes.
Aquí hay un ejemplo:
let firstName = "Oluwatobi";
let website = "CodeSweetly";
[firstName, website] = [website, firstName];
console.log(firstName); // "CodeSweetly"
console.log(website); // "Oluwatobi"
En el fragmento anterior, usamos la descomposición directa de matrices para reasignar variables firstName
y website
variables con los valores de los literales de matriz a la derecha del operador de asignación .
Por lo tanto, firstName
el valor de "Oluwatobi"
cambia a "CodeSweetly"
. Por otro lado, website
el contenido de se "CodeSweetly"
cambia a "Oluwatobi"
.
Tenga en cuenta que también puede usar el descarte de matriz para extraer valores de una matriz regular a los parámetros de una función. Esto se explica en detalle a continuación.
A continuación, se explica cómo utilizar el descarte de matriz para extraer valores de matriz en parámetros de función:
// Define an array with two items:
const profile = ["Oluwatobi", "Sofela"];
// Define a function with one destructuring array containing two parameters:
function getUserBio([firstName, lastName]) {
return `My name is ${firstName} ${lastName}.`;
}
// Invoke getUserBio while passing the profile array as an argument:
getUserBio(profile);
// The invocation above will return:
"My name is Oluwatobi Sofela."
En el fragmento anterior, usando un parámetro de destrucción matriz, profile
el valor de la matriz getUserBio
's firstName
y lastName
se extrajo parámetros.
Nota: los parámetros no estructurados de la matriz, por lo general, la no estructura de los parámetros se llama voluntad .
Aquí hay otro ejemplo:
// Define an array with two string values and one nested array:
const profile = ["codesweetly.com", "Male", ["Oluwatobi", "Sofela"]];
// Define a function with two destructuring arrays containing a parameter each:
function getUserBio([website, , [userName]]) {
return `${userName} runs ${website}`;
}
// Invoke getUserBio while passing the profile array as an argument:
getUserBio(profile);
// The invocation above will return:
"Oluwatobi runs codesweetly.com"
En el fragmento anterior, utilizando dos secuencias de parámetros de destrucción, profile
los valores de la matriz getUserBio
's website
y userName
se extrajo parámetros.
Es posible que deba llamar a una función que contenga parámetros de destrucción sin pasar ningún argumento. En ese caso, debe utilizar una técnica que evite que el navegador lance TypeError
.
Conozca las siguientes técnicas:
Considere la siguiente función.
function getUserBio([firstName]) {
console.log(
"Do something else that does not need the destructuring parameter."
);
return `My name is ${firstName}.`;
}
Ahora getUserBio
llamemos a la función sin pasar ningún argumento a los parámetros de destrucción.
getUserBio();
getUserBio
Después de llamar a la función anterior, el navegador TypeError: undefined is not iterable
. Lanza un error como.
Este TypeError
mensaje se produce porque la función que contiene el parámetro de destrucción espera especificar al menos un argumento.
Por lo tanto, puede evitar estos mensajes de error asignando argumentos predeterminados al parámetro de desestructuración.
Aquí hay un ejemplo:
function getUserBio([firstName] = []) {
console.log(
"Do something else that does not need the destructuring parameter."
);
return `My name is ${firstName}.`;
}
Observe que el fragmento de código anterior asigna una matriz vacía como argumento predeterminado para el parámetro de destrucción.
Ahora getUserBio
llamemos a la función sin pasar ningún argumento a los parámetros de destrucción.
getUserBio();
Las salidas de la función:
"Do something else that does not need the destructuring parameter."
"My name is undefined."
Tenga en cuenta que no tiene que utilizar una matriz vacía como argumento predeterminado para los parámetros de destrucción. null
O puede utilizar otros valores que no lo sean undefined
.
Ahora que sabe cómo funciona el descarte de matrices, hablemos del descarte de objetos para que pueda ver la diferencia.
Descartar un objeto es una técnica única que le permite extraer correctamente el valor de un objeto en una nueva variable.
Por ejemplo, en lugar de utilizar una técnica de asignación que destruye un objeto, extraiga el valor del objeto en una nueva variable de la siguiente manera:
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
const firstName = profile.firstName;
const lastName = profile.lastName;
const website = profile.website;
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Tenga en cuenta que el fragmento anterior contiene una gran cantidad de código repetido que no es un método de codificación DRY ( D on't R epeat Y sí mismo).
Ahora veamos cómo las cosas se vuelven más limpias y secas con una tarea de destrucción de objetos.
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
const { firstName: firstName, lastName: lastName, website: website } = profile;
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Como puede ver, limpiamos mágicamente el código {...}
colocando tres nuevas variables en la propiedad objeto ( ) profile
y asignándoles los valores del objeto.
Es decir, le indiqué a la computadora que extrajera profile
el valor del objeto en la variable a la izquierda del operador de asignación .
Por lo tanto, JavaScript profile
analiza "Oluwatobi"
el objeto firstName
y copia su primer valor ( ) a la primera variable ( ) del objeto que lo destruye .
De manera similar, la computadora extrae el segundo profile
valor "Sofela"
del objeto ( ) en la segunda variable del objeto de destrucción ( lastName
).
Finalmente, JavaScript copia el tercer profile
valor "codesweetly.com"
del objeto ( ) a la tercera variable del objeto de destrucción ( website
).
Tenga en cuenta que { firstName: firstName, lastName: lastName, website: website }
la clave es una referencia a profile
la propiedad del objeto; el valor de la clave representa una nueva variable.
Estructura del objeto JavaScript Estructura de la asignación de destrucción
Alternativamente, puede usar una sintaxis abreviada para que su código sea más fácil de leer.
Aquí hay un ejemplo:
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
const { firstName, lastName, website } = profile;
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
En el fragmento de arriba, se redujo { firstName: firstName, age: age, gender: gender }
a { firstName, age, gender }
. Obtenga más información sobre las técnicas de taquigrafía aquí .
Tenga en cuenta que el fragmento anterior muestra cómo asignar el valor de un objeto a una variable cuando tanto la propiedad del objeto como la variable tienen el mismo nombre.
Sin embargo, también puede asignar el valor de la propiedad a una variable con un nombre diferente. Veamos como.
En JavaScript, puede usar la destrucción de objetos para extraer el valor de una propiedad en una variable, incluso si tanto la propiedad como el nombre de la variable son diferentes.
Aquí hay un ejemplo:
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
const { firstName: forename, lastName: surname, website: onlineSite } = profile;
console.log(forename); // "Oluwatobi"
console.log(surname); // "Sofela"
console.log(onlineSite); // "codesweetly.com"
console.log(website); // "ReferenceError: website is not defined"
En el fragmento anterior, la computadora extrajo con éxito profile
el valor del objeto en una variable con un nombre forename
, surname
y la onlineSite
propiedad -even y la variable tienen nombres diferentes.
Nota:const { firstName: forename } = profile
es equivalente const forename = profile.firstName
a.
Aquí hay otro ejemplo:
const profile = {
lastName: { familyName: "Sofela" }
};
const { lastName: { familyName: surname } } = profile;
console.log(surname); // "Sofela"
En el fragmento anterior, la computadora extrajo con éxito profile
el valor del objeto en la surname
variable, aunque la propiedad y la variable se nombraron de manera diferente .
Nota:const { lastName: { familyName: surname } } = profile
es equivalente const surname = profile.lastName.familyName
a.
profile
Observe que hemos estado haciendo referencia al objeto y desestructurando hasta ahora . Sin embargo, también puede destruir el objeto directamente. Veamos como.
En JavaScript, puede destruir directamente el objeto de propiedad de la siguiente manera:
const { firstName, lastName, website } = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Suponga que desea separar las declaraciones de variables de esas asignaciones. En ese caso, puede manejarlo con JavaScript. Veamos como.
Siempre que use la destrucción de objetos, puede usar JavaScript para separar las declaraciones de variables de sus asignaciones.
Aquí hay un ejemplo:
// Declare three variables:
let firstName, lastName, website;
// Extract values to the three variables above:
({ firstName, lastName, website } = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
});
// Invoke the three variables:
console.log(firstName); // "Oluwatobi"
console.log(lastName); // "Sofela"
console.log(website); // "codesweetly.com"
Nota:
;
Coloque un punto y coma () después del paréntesis de la asignación de destrucción del objeto. Si lo hace, evitará que la computadora interprete el paréntesis como el llamador de una función que puede estar en la línea anterior."Oluwatobi"
¿Qué sucede si quiero asignarlo a una variable firstName
y quiero asignar los valores restantes de un objeto a otra variable? ¿Cómo puedo hacer esto? Averigüemos a continuación.
Con JavaScript, puede utilizar el operador rest dentro de un objeto destruido para asignar el resto del literal del objeto a una variable.
Aquí hay un ejemplo:
const { firstName, ...otherInfo } = {
firstName: "Oluwatobi",
lastName: "Sofela",
website: "codesweetly.com"
};
console.log(firstName); // "Oluwatobi"
console.log(otherInfo); // {lastName: "Sofela", website: "codesweetly.com"}
Nota: Utilice siempre el operador de descanso como último elemento del objeto de descarte para que no lo obtenga SyntaxError
.
En algunos casos, el valor a extraer del objeto de propiedad undefined
es. En ese caso, JavaScript proporciona una forma de establecer valores predeterminados para el objeto de destrucción. Echemos un vistazo más de cerca a esto a continuación.
Establecer un valor predeterminado es undefined
útil si el valor que desea extraer del objeto no existe (o está configurado ).
A continuación, se explica cómo configurarlo dentro del objeto Propiedades de destrucción:
const { firstName = "Tobi", website = "CodeSweetly" } = {
firstName: "Oluwatobi"
};
console.log(firstName); // "Oluwatobi"
console.log(website); // "CodeSweetly"
El fragmento anterior "Tobi"
establece y como valor predeterminado para la variable "CodeSweetly"
.firstNamewebsite
Por lo tanto, si intenta extraer el valor de la segunda propiedad del objeto de la derecha, la computadora toma el valor predeterminado "CodeSweetly"
, porque solo hay una propiedad en , de manera predeterminada {firstName: "Oluwatobi"}
.
Entonces, firstName
¿qué pasa si hay una necesidad de valorar el valor del intercambio website
o? Nuevamente, puede ejecutar el trabajo mediante la destrucción de objetos. Veamos el siguiente método.
Puede utilizar asignaciones de destrucción de objetos para intercambiar los valores de dos o más variables diferentes.
Aquí hay un ejemplo:
let firstName = "Oluwatobi";
let website = "CodeSweetly";
({ firstName, website } = {firstName: website, website: firstName});
console.log(firstName); // "CodeSweetly"
console.log(website); // "Oluwatobi"
El fragmento anterior utilizó la descomposición directa de objetos para reasignar variables firstName
y website
variables con el valor del objeto literal a la derecha del operador de asignación .
Por lo tanto, firstName
el valor de "Oluwatobi"
cambia a "CodeSweetly"
. Por otro lado, website
el contenido de se "CodeSweetly"
cambia a "Oluwatobi"
.
Tenga en cuenta que también puede utilizar la destrucción de objetos para extraer valores de propiedades a parámetros de función. Esto se explica en detalle a continuación.
A continuación, se explica cómo utilizar la destrucción de objetos para copiar el valor de una propiedad en el parámetro de una función:
// Define an object with two properties:
const profile = {
firstName: "Oluwatobi",
lastName: "Sofela",
};
// Define a function with one destructuring object containing two parameters:
function getUserBio({ firstName, lastName }) {
return `My name is ${firstName} ${lastName}.`;
}
// Invoke getUserBio while passing the profile object as an argument:
getUserBio(profile);
// The invocation above will return:
"My name is Oluwatobi Sofela."
El fragmento de arriba, utiliza parámetros no estructurales del objeto para copiar profile
el valor del objeto a la getUserBio
Sra. firstName
Y los lastName
parámetros.
Nota: el parámetro no estructurado del objeto es, por lo general, la no estructura de los parámetros se llama voluntad .
Aquí hay otro ejemplo:
// Define an object with three-parent properties:
const profile = {
website: "codesweetly.com",
gender: "Male",
fullName: {
firstName: "Oluwatobi",
lastName: "Sofela"
}
};
// Define a function with two destructuring objects containing a parameter each:
function getUserBio({ website, fullName: { firstName: userName } }) {
return `${userName} runs ${website}`;
}
// Invoke getUserBio while passing the profile object as an argument:
getUserBio(profile);
// The invocation above will return:
"Oluwatobi runs codesweetly.com"
Pruébelo con StackBlitz
En el fragmento de arriba, para copiar, usamos dos parámetros no estructurales profile
el valor del objeto a la getUserBio
Sra. website
Y los userName
parámetros.
Nota: Si tiene alguna pregunta sobre los parámetros de destrucción anteriores, puede tener una mejor idea al revisar esta sección .
Es posible que deba llamar a una función que contenga parámetros de destrucción sin pasar ningún argumento. En ese caso, debe utilizar una técnica que evite que el navegador lance TypeError
.
Conozca las siguientes técnicas:
Considere la siguiente función.
function getUserBio({ firstName }) {
console.log(
"Do something else that does not need the destructuring parameter."
);
return `My name is ${firstName}.`;
}
Ahora getUserBio
llamemos a la función sin pasar ningún argumento a los parámetros de destrucción.
getUserBio();
getUserBio
Después de llamar a la función anterior, el navegador TypeError: (destructured parameter) is undefined
. Lanza un error como.
Este TypeError
mensaje se produce porque la función que contiene el parámetro de destrucción espera especificar al menos un argumento.
Por lo tanto, puede evitar estos mensajes de error asignando argumentos predeterminados al parámetro de desestructuración.
Aquí hay un ejemplo:
function getUserBio({ firstName } = {}) {
console.log(
"Do something else that does not need the destructuring parameter."
);
return `My name is ${firstName}.`;
}
Tenga en cuenta que el fragmento de código anterior asigna un objeto vacío como argumento predeterminado para el parámetro de destrucción.
Ahora getUserBio
llamemos a la función sin pasar ningún argumento a los parámetros de destrucción.
getUserBio();
Las salidas de la función:
"Do something else that does not need the destructuring parameter."
"My name is undefined."
Tenga en cuenta que no tiene que utilizar un objeto vacío como argumento predeterminado para el parámetro de destrucción. null
O puede utilizar otros valores que no lo sean undefined
.
Descartar matrices y objetos también funciona. Las principales diferencias entre las dos asignaciones destructivas son:
En este artículo, expliqué cómo funciona la destrucción de matrices y objetos en JavaScript. También analizamos las principales diferencias entre las dos asignaciones destructivas.
¡gracias por leer!
Enlace: https://www.freecodecamp.org/news/array-vs-object-destructuring-in-javascript/
1622207074
Who invented JavaScript, how it works, as we have given information about Programming language in our previous article ( What is PHP ), but today we will talk about what is JavaScript, why JavaScript is used The Answers to all such questions and much other information about JavaScript, you are going to get here today. Hope this information will work for you.
JavaScript language was invented by Brendan Eich in 1995. JavaScript is inspired by Java Programming Language. The first name of JavaScript was Mocha which was named by Marc Andreessen, Marc Andreessen is the founder of Netscape and in the same year Mocha was renamed LiveScript, and later in December 1995, it was renamed JavaScript which is still in trend.
JavaScript is a client-side scripting language used with HTML (Hypertext Markup Language). JavaScript is an Interpreted / Oriented language called JS in programming language JavaScript code can be run on any normal web browser. To run the code of JavaScript, we have to enable JavaScript of Web Browser. But some web browsers already have JavaScript enabled.
Today almost all websites are using it as web technology, mind is that there is maximum scope in JavaScript in the coming time, so if you want to become a programmer, then you can be very beneficial to learn JavaScript.
In JavaScript, ‘document.write‘ is used to represent a string on a browser.
<script type="text/javascript">
document.write("Hello World!");
</script>
<script type="text/javascript">
//single line comment
/* document.write("Hello"); */
</script>
#javascript #javascript code #javascript hello world #what is javascript #who invented javascript
1616670795
It is said that a digital resource a business has must be interactive in nature, so the website or the business app should be interactive. How do you make the app interactive? With the use of JavaScript.
Does your business need an interactive website or app?
Hire Dedicated JavaScript Developer from WebClues Infotech as the developer we offer is highly skilled and expert in what they do. Our developers are collaborative in nature and work with complete transparency with the customers.
The technology used to develop the overall app by the developers from WebClues Infotech is at par with the latest available technology.
Get your business app with JavaScript
For more inquiry click here https://bit.ly/31eZyDZ
Book Free Interview: https://bit.ly/3dDShFg
#hire dedicated javascript developers #hire javascript developers #top javascript developers for hire #hire javascript developer #hire a freelancer for javascript developer #hire the best javascript developers
1617257581
¿Quiere restaurar los buzones de correo de PST a Exchange Server? Entonces, estás en la página correcta. Aquí, lo guiaremos sobre cómo puede restaurar fácilmente mensajes y otros elementos de PST a MS Exchange Server.
Muchas veces, los usuarios necesitan restaurar los elementos de datos de PST en Exchange Server, pero debido a la falta de disponibilidad de una solución confiable, los usuarios no pueden obtener la solución. Háganos saber primero sobre el archivo PST y MS Exchange Server.
PST es un formato de archivo utilizado por MS Outlook, un cliente de correo electrónico de Windows y muy popular entre los usuarios domésticos y comerciales.
Por otro lado, Exchange Server es un poderoso servidor de correo electrónico donde todos los datos se almacenan en un archivo EDB. Los usuarios generalmente guardan la copia de seguridad de los buzones de correo de Exchange en el archivo PST, pero muchas veces, los usuarios deben restaurar los datos del archivo PST en Exchange. Para resolver este problema, estamos aquí con una solución profesional que discutiremos en la siguiente sección de esta publicación.
No le recomendamos que elija una solución al azar para restaurar los datos de PST en Exchange Server. Por lo tanto, al realizar varias investigaciones, estamos aquí con una solución inteligente y conveniente, es decir, Exchange Restore Software. Es demasiado fácil de manejar por todos los usuarios y restaurar cómodamente todos los datos del archivo PST a Exchange Server.
El software es demasiado simple de usar y se puede instalar fácilmente en todas las versiones de Windows. Con unos pocos clics, la herramienta puede restaurar los elementos del buzón de Exchange.
No es necesario que MS Outlook restaure los datos PST en Exchange. Todos los correos electrónicos, contactos, notas, calendarios, etc. se restauran desde el archivo PST a Exchange Server.
Todas las versiones de Outlook son compatibles con la herramienta, como Outlook 2019, 2016, 2013, 2010, 2007, etc. La herramienta proporciona varios filtros mediante los cuales se pueden restaurar los datos deseados desde un archivo PST a Exchange Server. El programa se puede instalar en todas las versiones de Windows como Windows 10, 8.1, 8, 7, XP, Vista, etc.
Descargue la versión de demostración del software de restauración de Exchange y analice el funcionamiento del software restaurando los primeros 50 elementos por carpeta.
No existe una solución manual para restaurar los buzones de correo de Exchange desde el archivo PST. Por lo tanto, hemos explicado una solución fácil e inteligente para restaurar datos de archivos PST en Exchange Server. Simplemente puede usar este software y restaurar todos los datos de PST a Exchange Server.
Más información:- https://www.datavare.com/software/exchange-restore.html
#intercambio de software de restauración #intercambio de restauración #buzón del servidor de intercambio #herramienta de restauración de intercambio
1589255577
As a JavaScript developer of any level, you need to understand its foundational concepts and some of the new ideas that help us developing code. In this article, we are going to review 16 basic concepts. So without further ado, let’s get to it.
#javascript-interview #javascript-development #javascript-fundamental #javascript #javascript-tips