Mirunie proszę o poradę jak poprawnie tworzyć obiekty w JavaScript.
Widuję kod gdzie programiści nie wykorzystują Object.defineProperty, wiem że mam unikać natywnych metod get() i set() - chociaż nie wiem dlaczego? ( ͡° ͜ʖ ͡°)
Główne pytanie to czy mam używać Object.defineProperty czy nie bo stanie się to i to :)

#javascript #kaczkaprogramuje
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rozowakaczuszka: nie bardzo rozumiem twoje pytanie.

Widuję kod gdzie programiści nie wykorzystują Object.defineProperty

widocznie nie potrzebują, settery/gettery przydają się raczej w dość specyficznych przypadkach

wiem że mam unikać natywnych metod get()
  • Odpowiedz
Ok, czyli rozumiem że bardziej przed takim wyborem staje architekt aplikacji,

@rozowakaczuszka: no, nie do końca. Jeśli chodzi o gettery/settery to powiedziałbym, że słaby kod robisz wtedy, jeśli ich nadużywasz i pakujesz tam, gdzie nie są potrzebne. Settery/gettery zaciemniają kod. Ja np. obecnie robię w Angularze i setterów używam tylko w jednym miejscu - gdy komponent rodzic przekazuje komponentowi-dziecku jakąś wartość i komponent-dziecko chce ją odpowiednio przetransformować (np. celem uzyskania
  • Odpowiedz
nie jest aż-tak-proste-jakby-się-wydawało (nie mówię, że to jakaś masakra, ale po prostu jeżeli nie chcesz marnować czasu na konfigi to wzięcie gotowca będzie dobrym rozwiązaniem).


@rbielawski: a ja bym właśnie polecał, żeby samemu napisać, bo teraz można używać z webpacka bez konfiguracji a ta najbardziej podstawowa (input/output) jest bardzo prosta

dodanie wtyczki też w sumie ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Hej Mirunie. Chcę się podciągnąć z kontekstów wykonania.
Mam taki kod gdzie chciałabym zmienić wartość zmiennej _id zaznaczonej na obrazku (5 linia).
Rozumiem że jest to zmienna w łańcuchu zasięgu domknięta funkcją.
Jak to mogę zmienić, czy jest to możliwe?

Kod jest tutaj:
rozowakaczuszka - Hej Mirunie. Chcę się podciągnąć z kontekstów wykonania.
Mam taki ...

źródło: comment_zM83bV8f8Xq4MgLBrKdNs1LAZi8Ba4tR.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirunie, rozwiązałam zadanie z zestawu pytań na rozmowę kwalifikacyjną. Czy znajdzie się Mirek mający chwilę, cierpliwość i umiejętności i sprawdzi jak bardzo przekombinowałam z kodem. Treść zadania na obrazku. Wszystko działa ale myślę że można zrobić to lepiej:

https://jsfiddle.net/pinkduckpl/r1q94y5s/15/
Czy macie jakieś pomysły, podpowiedzi? Nie oczekuję rozwiązanego kodu bo nie tym polega nauka.

#programowanie
rozowakaczuszka - Mirunie, rozwiązałam zadanie z zestawu pytań na rozmowę kwalifikacy...

źródło: comment_hKxLtgAvVEQeFoGrrFBpraQvoVENqUxx.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rozowakaczuszka: Nie znam się na JS ale widzę pogubione średniki, komunikat, że zmienna i już została użyta (chodzi o pętlę for). Poza tym nie robi tego co miało robić. Miałaś dostać na wyjściu int - przynajmniej ja tak to rozumiem.
  • Odpowiedz
także drugi parametr jest niepotrzebny


@NaDrzewachZamiastLisci: @rozowakaczuszka: Dobrą praktyką jest podawanie radixa, niezależnie od wartości.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

Always specify this parameter to eliminate reader confusion and to guarantee predictable behavior. Different implementations produce different results when a radix is not specified, usually defaulting the value to 10.
  • Odpowiedz
Mam dwa pytania o rekurencję, najpierw trudniejsze dotyczące ES6 i ES5. Przeczytałam właśnie że ES6 ma mechanizm "tail call optymization", którego to ES5 nie ma. Czy w takim razie kod wynikowy, załóżmy z takiego Angulara, będzie w jakimś stopniu wspierany przez przeglądarkę czy też jest to wsparcie tylko dla ES6 i trzeba kombinować z rozpoznawaniem klienta?

Drugie pytanie to bardziej o ograniczenia obliczeniowe silników JavaScript.
Mam programik obliczający silnię i oczywiście po
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rozowakaczuszka:
Ad. 1 - wg mojej wiedzy dostępne narzędzia nie są w stanie przekształcić rekurencji wykorzystującej TCO na wersję którą udźwigną silniki bez wsparcia dla TCO (choć istnieją sposoby na zasymulowanie tego na poziomie kodu źródłowego (trampolines)) - także musisz targetować silnik wspierający TCO, uzyć wspomnianego zamiennika lub ładować różne wersje w zależności od silnika.

Ad. 2 - Do obliczeń na dużych liczbach używa się specjalnych bubiotek, np https://github.com/MikeMcl/bignumber.js/
  • Odpowiedz
Programujące mirki z #programista15k i #javascript proszę Was o opinię w sprawie nauki ES5. Czy powinnam poświęcić czas na naukę ES5 ale na takim bardzo dobrym poziomie. Wśród znajomych słyszę opinię że nie warto się tak przykładać do zrozumienia jak działa kontekst wykonania czy prototypy, skoro w ES6 to się nie przyda. Czy faktycznie lepiej skoncentrować się na ES6 i TypeScript?

#webdev #kaczkaprogramuje
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rozowakaczuszka: to zalezy gdzie chcesz pracowac
guwnoagencja - jQuery
srednia firma - podstawowe zrozumienie js, closure, hoisting, scope, es6, DOM ap, promises itd.,
fortune 500, mozilla, czy jakies p------e enterprise - znajomosc specyfikacji javascriptu, prototype chain wykuty na blache itd.
  • Odpowiedz
Wśród znajomych słyszę opinię że nie warto się tak przykładać do zrozumienia jak działa kontekst wykonania czy prototypy


@rozowakaczuszka: Zmień znajomych. Zwłaszcza kontekst wywołania to K L U C Z O W A kwestia do zrozumienia jak działa wszystko w JS.
  • Odpowiedz
Mam pytanie do programistów JavaScript.
Dostałam zadanie, gdzie mam użyć domknięć. O ile jakoś z prostymi zadaniami sobie poradziłam, to teraz mam problem. Oto zadanie:
Użyj domknięć oraz IIF tak aby można było użyć konstruktora w taki sposób:

const cat1 = new Class('kot',4);
const cat2 = new Class('kotka',3);
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach