Skip to content

Commit 264fa60

Browse files
committed
Translate question 112
1 parent d8e92d2 commit 264fa60

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

es-ES/README-ES.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3576,3 +3576,54 @@ getName() // Lydia
35763576

35773577
---
35783578

3579+
###### 112. ¿Cuál es el resultado?
3580+
3581+
```javascript
3582+
function* generatorOne() {
3583+
yield ['a', 'b', 'c'];
3584+
}
3585+
3586+
function* generatorTwo() {
3587+
yield* ['a', 'b', 'c'];
3588+
}
3589+
3590+
const one = generatorOne()
3591+
const two = generatorTwo()
3592+
3593+
console.log(one.next().value)
3594+
console.log(two.next().value)
3595+
```
3596+
3597+
- A: `a` y `a`
3598+
- B: `a` y `undefined`
3599+
- C: `['a', 'b', 'c']` y `a`
3600+
- D: `a` y `['a', 'b', 'c']`
3601+
3602+
<details><summary><b>Solución</b></summary>
3603+
<p>
3604+
3605+
#### Answer: C
3606+
3607+
Con la palabra clave `yield`, cedemos valores en una función generadora. Con la palabra clave `yield*`, podemos obtener valores de otra función generadora u objeto iterable (por ejemplo, un array).
3608+
3609+
En la función `generatorOne`, cedemos todo el array `['a', 'b', 'c']` usando la palabra clave `yield`. El valor de la propiedad `value` en el objeto devuelto por el método `next` en `one` (`one.next().value`) es igual a todo el array `['a', 'b', 'c']`.
3610+
3611+
```javascript
3612+
console.log(one.next().value) // ['a', 'b', 'c']
3613+
console.log(one.next().value) // undefined
3614+
```
3615+
3616+
En la función `generatorTwo`, usamos la palabra clave `yield*`. Esto significa que el primer valor cedido de `two` es igual al primer valor cedido en el iterador. El iterador es el array `['a', 'b', 'c']`. El primer valor producido es `a`, por lo que la primera vez que llamamos a `two.next().value`, se devuelve `a`.
3617+
3618+
```javascript
3619+
console.log(two.next().value) // 'a'
3620+
console.log(two.next().value) // 'b'
3621+
console.log(two.next().value) // 'c'
3622+
console.log(two.next().value) // undefined
3623+
```
3624+
3625+
</p>
3626+
</details>
3627+
3628+
---
3629+

0 commit comments

Comments
 (0)