look997
#javascript #frontend #programowanie

Czy to jest prawidłowa/popularna praktyka?

function RandomEvent (entropy) {
this.entropy = entropy;

this.randomEventEl;
this.inputEl;
this.descriptionEl;
this.measureUncertaintyEl;

this.probability;

this.constructor();
}

Chodzi o to że właściwości deklaruję bez przypisywania wartości, w definicji prototypu. A dopiero w metodzie this.contructor lub innych przypisuję wartości.

Miałoby to ułatwić namierzanie właściwości które są użyte w klasie.
Taka deklaracja linijka pod linijką ułatwia odszukanie interesującej nas właściwości.
Gdyby to było od razu z przypisanymi właściwościami to stałoby się to bardziej nieczytelne.

Co sądzicie?

Mam tylko problem z es-lint. On to uznaje za unused-expressions i zaznacza jako błąd. Potrzebuję tego lintera do wyłapywania zwykłych nieużytych zadeklarowanych zmiennych ale nie chcę żeby uznawało this.name; za nieużyte bo w innych metodach są użyte.

Jak to ustawić?
  • Najlepsze
  • Wszystkie komentarze
kmiasko
@Chanandler: "Syntactic sugar" do dziedziczenia prototypowego.
michael94
@lililililil: Przecież w JS nie ma klas. ᶘᵒᴥᵒᶅ
l.....l
l.....l
@look997: Na pewno wrzuciłeś dobrą funkcję? Ta przepełni stos przy tworzeniu instancji.
Btw. Jak chcesz się bawić w coś takiego to polecam TypeScript.
look997
look997 Autor
0
@lililililil: Jakie przepełnienie stosu? Co ty wygadujesz? Normalnie tego używam.
l.....l
l.....l
@look997: Wybacz, dawno tak nie pisałem klas. Ostatnio jak to robiłem to cała główna funkcja była konstruktorem i wywołanie w niej konstruktora skutkowałoby przepełnieniem stosu.
l.....l
l.....l
@michael94: Za to są w htmlu css-ie ( ͡° ͜ʖ ͡°)
Chanandler
@michael94: a ES2015 to co wprowadziło, jak nie klasy?