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
@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
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
@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
@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
@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 #!$%@? 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);