• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Javascript Dynamiczne deklarowanie zmiennych

42 Warsaw Coding Academy
+1 głos
403 wizyt
pytanie zadane 18 września 2021 w JavaScript przez adek236 Nowicjusz (180 p.)

Witam. Czy jest możliwość "dynamicznego" deklarowania zmiennych? Jeżeli tak, to jak się to fachowo nazywa, ewentualnie gdzie o tym poczytać. Nie wiem czy coś pominąłem w nauce czy się zawiesiłem, ale na tym stanąłem. Proszę o jakieś porady. 

A teraz wyjaśnię o co mi chodzi: 

const creature1 = new Card("Boo", 100);
const creature2 = new Card("Emme", 200);

Chciałbym, żeby zmienna creature dodawana podczas działania programu, bo nie wiem ile ich będzie.

Np:

function cardFn(name,x,y) {
const name = new Card(x, y);
}

ALBO

for() {
const creature[i] = new Card(x, y);
}
class Card {
    constructor(name, hp) {
        this.name = name;
        this.hp = hp;
    }
}

Dzięki.

2 odpowiedzi

+2 głosów
odpowiedź 18 września 2021 przez Comandeer Guru (607,060 p.)

Można by to opędzić jakimiś megahackami (np. eval), ale nie ma to sensu.

To, czego w rzeczywistości chcesz, to tablica:

const creatures = [
    new Card("Boo", 100),
    new Card("Emme", 200)
];

Każdy element tablicy można potraktować jako taką dynamiczną zmienną.

1
komentarz 18 września 2021 przez adek236 Nowicjusz (180 p.)
Przez chwile o tym myślałem, nie wiem czemu nie podążyłem za tym. Dzięki.
0 głosów
odpowiedź 18 września 2021 przez reskilledio Początkujący (370 p.)

Tak jak powyżej, tablica jest rozwiązaniem.
Można również stworzyć funkcję osobną do generowania zmiennych i tam dodefiniować co ma się dziać:
 

const generateVariables = () => {
  let variables = []

  for (var i = 0; i <= 20; ++i) {
      variables[i] = 'zawartosc zmiennej'
  }

  return variables
}

albo użycie eval: 

eval("creature" + 1 + "='some value'")

 

Podobne pytania

0 głosów
1 odpowiedź 236 wizyt
pytanie zadane 16 stycznia 2023 w C i C++ przez polandonion Dyskutant (7,630 p.)
+1 głos
1 odpowiedź 330 wizyt
pytanie zadane 13 kwietnia 2022 w C i C++ przez Szanti 2.0 Nowicjusz (150 p.)
0 głosów
2 odpowiedzi 297 wizyt
pytanie zadane 8 marca 2022 w C i C++ przez Daaa22 Dyskutant (8,250 p.)

93,383 zapytań

142,382 odpowiedzi

322,539 komentarzy

62,744 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...