Wpis z mikrobloga

  • 0
@Ranmus mi się nic nie pomylilo, bo to co Ty mówisz wcale się nie wyklucza z tym co ja pisałem, przeciwnie, to co ja pisze to jest konsekwencja tego co Ty pisałeś. Tyle że Ty pisałaś dokładniej jak to pod fartuchem działa, ale w efekcie, od strony użytkowej, da dokładnie taki sam efekt jak ja mówiłem. Metody są wywoływane z kontekstem obiektu do których należą, pozostałe funkcje są wywoływane z kontekstem
  • Odpowiedz
@oslet. Nooo ok, można tak ująć. Te dwie kwestie od strony programisty są do pewnego momentu po prostu zbieżne (mówie to o determinacji this oraz z scope, bo właśność to masz racje, definiuje niejawnie callera za programistę - bo caller w JS jest programowalny, a w innych językach zazwyczaj nie), choć jedno "under the hood" nie implikuje technicznie drugiego, co na pewnym poziomie odkrył typ z filmu, ale nie przeczytał
  • Odpowiedz
określasz jaki obiekt wywołuje tę funkcje


@Ranmus: w znanych mi językach jest tak, że metoda klasy to po prostu funkcja, która przyjmuje niejawnie "obiekt wywołujący" (wskaźnik, uchwyt, czy co tam jeszcze) jako argument (czyli "this" wewnątrz funkcji odnosi się do przekazanego obiektu). Z perspektywy obiektu może wyglądać, że wywołuje funkcję, ale faktycznie jest on tylko "pasażerem".
  • Odpowiedz
@MostlyRenegade: w JS pewnie czysto technicznie jest to analogicznie rozwiązane. Ja po prostu użyłem nomenklatury z oficjalnej specyfikacji Ecmascript mówiącej o tym czym jest execution context oraz w jak w ramach niego jest ustalany this oraz scope, a także czym jest caller dla funkcji. Ta nomenklatura zapewne została dobrana dla lepszego zobrazowania tegoż mechanizmu. Różnica pewnie sprowadza się do algorytmu ustalającego do czego prowadzi referencja this. Nieintuicyjne jest tutaj resetowanie
  • Odpowiedz
  • 0
@MostlyRenegade

@Ranmus: Z perspektywy obiektu może wyglądać, że wywołuje funkcję, ale faktycznie jest on tylko "pasażerem".


Bardzo ładnie ujęte. Ale to szczegół implementacyjny (jak tak naprawdę obiektówka działa). W rozumieniu powszechnym i potocznym tak właśnie ma być i ma tak to wyglądać że metody należą do klasy i są w jakiś sposób jej podrzędne. I że to obiekt wywołuje
  • Odpowiedz