Statyczna zmienna w Klasie Javascirpt

Statyczna zmienna w Klasie Javascirpt
Kandif
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 231
0

Witam,

Szukałem w internecie ale wygląda na to że nie ma, więc pytam asekuracyjnie. Czy jest możliwość stworzenia czegoś podobnego do zmiennych statycznych w Javie tyle że w Javascirpt(nodejs).
Chciałbym przy tworzeniu obiektu klasy mieć dostęp do tej samej zmiennej i ją edytować z poziomu każdego obiektu.
Istnieje taka możliwość?

AQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
3
Kopiuj
class Dog {
  constructor() {
	Dog.dogsCount++
  }
}

Dog.dogsCount = 0
AQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
1

Jest też taka opcja na statyczne zmienne, w tym wariancie masz do niej dostęp przez this, jak w Javie.

Kopiuj
   // Dog.js

    let dogsCount = 0;

    class Dog {
      constructor() {
        this.dogsCount++
      }

      set dogsCount(val) {
         dogsCount = val;
      }

      get dogsCount() {
        return dogsCount;
      }
    }


    // index.js
   const Dog = require('./Dog')

  const burek = new Dog();
  const azor = new Dog();

 
  burek.dogsCount = 5
 
  azor.dogsCount // 5 -  obie instancje korzystają z "let dogsCount"
Kandif
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 231
0

To ja może od razu podam jak ja to rozwiązałem.

Kopiuj
class GłównaKlasa{
       dodajwartosc(naglowek,jakaswartosc){
                  StatyczneZmienne.zmienna[naglowek]=jakaswartosc;
        }
}

class StatyczneZmienne{}
StatyczneZmienne.zmienna={};

Takiego czegoś potrzebowałem, co prawda można zrobić to jak wspomniałeś w komentarzu.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.