Skip to content

Commit d9a9d65

Browse files
committed
Translate question 116
1 parent 2080004 commit d9a9d65

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

es-ES/README-ES.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3715,3 +3715,41 @@ Al agregar un par clave/valor utilizando el método `set`, la clave será el val
37153715

37163716
---
37173717

3718+
###### 116. ¿Cuál es el resultado?
3719+
3720+
```javascript
3721+
const person = {
3722+
name: "Lydia",
3723+
age: 21
3724+
}
3725+
3726+
const changeAge = (x = { ...person }) => x.age += 1
3727+
const changeAgeAndName = (x = { ...person }) => {
3728+
x.age += 1
3729+
x.name = "Sarah"
3730+
}
3731+
3732+
changeAge(person)
3733+
changeAgeAndName()
3734+
3735+
console.log(person)
3736+
```
3737+
3738+
- A: `{name: "Sarah", age: 22}`
3739+
- B: `{name: "Sarah", age: 23}`
3740+
- C: `{name: "Lydia", age: 22}`
3741+
- D: `{name: "Lydia", age: 23}`
3742+
3743+
<details><summary><b>Solución</b></summary>
3744+
<p>
3745+
3746+
#### Answer: C
3747+
3748+
Tanto las funciones `changeAge` como `changeAgeAndName` tienen un parámetro por defecto, a saber, un objeto _nuevo_ creado `{ ...person }`. Este objeto tiene copias de todos los pares clave/valor en el objeto `person`.
3749+
3750+
Primero, invocamos la función `changeAge` y le pasamos el objeto `person` como argumento. Esta función aumenta el valor de la propiedad `age` en 1. `person` ahora es `{name: "Lydia", age: 22}`.
3751+
3752+
Luego, invocamos la función `changeAgeAndName`, sin embargo, no pasamos un parámetro. En cambio, el valor de `x` es igual a un _nuevo_ objeto: `{ ...person }`. Dado que es un objeto nuevo, no afecta los valores de las propiedades en el objeto `person`. `person` sigue siendo igual a `{ name: "Lydia",age: 22 }`.
3753+
3754+
</p>
3755+
</details>

0 commit comments

Comments
 (0)