Kezdőoldal » Számítástechnika » Programozás » Lehet-e javascriptben template...

Lehet-e javascriptben template literálokat egymásba ágyazni?

Figyelt kérdés
Pl. ezek helyett ${roll.roll_1}, ${roll.roll2}, ${roll.roll_3} ezt: ${roll.roll_${i}}

#javascript #template literal #nesting #nested
2023. márc. 22. 01:12
 1/3 anonim ***** válasza:
51%

Tehát ha jól értem, van egy ehhez hasonló objektumod:

roll = {

roll_1: 2,

roll_2: 4,

roll_3: 6

};


és egy "i" változód:

i = 1;


esetleg valahogy így lehetne:

eval(`\`\$\{roll.roll_${i}\}\``)

de ez nem a legelegánsabb megoldás, sőt, ellenjavallt:

[link]


Én inkább átalakítanám az objektumot ilyesmire:

roll = {

roll: [2, 4, 6]

}


és akkor lehetne így használni:

`${roll.roll[(i - 1)]}`

2023. márc. 22. 12:05
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Vagy, ha mindenképpen maradnál az eredeti objektumnál, kiegészítheted egy függvénnyel:

[link]

és akkor hivatkozhatsz így:

`${roll.getroll(i)}`

2023. márc. 22. 12:24
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

A javascriptben a template literálok használatához a backtick (`) karaktert kell használni, és a kifejezéseket ${expression} formában kell beilleszteni. Ha egy template literálban backtick-et szeretnél használni, akkor azt egy backslash-szel (\) kell megelőzni. Például: \`` ugyanaz, mint "`".


A példádban a ${roll.roll_${i}} nem működik, mert a ${expression} csak egy kifejezést fogad el, nem egy másik template literált. Ebben az esetben a string összefűzését kell használnod. De az "expression" kifejezésben megengedett a metódus hívás is, így ha változó egy objektum vagy referencia, akkor egy hívással megadható a kívánt érték beillesztése.

2023. márc. 24. 21:44
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!