• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Poprawa kodu pod ECMASCRIPT6

Object Storage Arubacloud
0 głosów
242 wizyt
pytanie zadane 11 marca 2020 w JavaScript przez PoProstuTomasz Początkujący (470 p.)

Cześć,

Mam dość zapewne trywialne pytanie, jednak walczę już chwilę i nie mogę sobie poradzić, a z JS nie mam wiele do czynienia ostatnio.
Mam kod:
 

<script>
  window.addEventListener("message",e=>{if("resizeOpineoIframe"===e.data[0])
  {
    var   i=document.getElementById("opineo-opinions-widget");
          i.height="",i.height=e.data[1]+"px"}},!1);
</script>


Kompilator wyrzuca mi błąd.
 

Błąd w wierszu 3, znak 37: This language feature is only supported for ECMASCRIPT6 mode or better: arrow function.

Próbowałem deklarować funkcję jakiś poza blokiem if, ale bezskutecznie. Może macie jakies rozwiązanie aby kompilator to przepuścił?
Z góry dzięki.

komentarz 11 marca 2020 przez adrian17 Ekspert (344,860 p.)
Ale co to jest za kompilator?
komentarz 11 marca 2020 przez PoProstuTomasz Początkujący (470 p.)
Próbuję ten kod wszczepić poprzez Google Tag Managera, i "googlowy" kompilator mi wyrzuca ten błąd

2 odpowiedzi

+2 głosów
odpowiedź 11 marca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
Zmien po prostu arrow function na zwykłą deklaracje function(e) {}
komentarz 11 marca 2020 przez Ehlert Ekspert (212,670 p.)

Warto zauważyć również fakt, że addEventListener nie jest najlepszym miejscem do używania arrow functions wink

komentarz 12 marca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
Niby dlaczego? Uzasadnij proszę.
komentarz 12 marca 2020 przez Ehlert Ekspert (212,670 p.)
Przy zwykłej funkcji this ma context listenera, przy Arrow function nie.
komentarz 12 marca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
ok, ale to nie zmienia faktu, że arrow function jest zle dla listenerów... wg mnie nie można tak ogólnie mówić, wszystko zależy od tego co i w jaki sposób chcesz robić w listenerze.
0 głosów
odpowiedź 11 marca 2020 przez Mariusz08 Maniak (62,300 p.)

Prawdopodobnie ten rzekomy kompilator nie wspiera ECMAScript6 który wprowadził Arrow Function (czyli zapis z e=>{}). Musisz albo pobrać nowszą wersję, albo nie używać tych ficzerów.

No chyba że to przeglądarka, to wtedy musisz ją zaktualizować na trochę mniej archaiczną.

komentarz 11 marca 2020 przez PoProstuTomasz Początkujący (470 p.)
Próbuję ten kod wszczepić poprzez Google Tag Managera, i "googlowy" kompilator mi wyrzuca ten błąd.
Pomożesz ominąć ten zapis przy poprawnym działaniu kodu?

Podobne pytania

0 głosów
1 odpowiedź 131 wizyt
pytanie zadane 28 lipca 2022 w JavaScript przez KubaLaska Początkujący (350 p.)
0 głosów
2 odpowiedzi 131 wizyt
pytanie zadane 30 sierpnia 2020 w JavaScript przez maslokeeper01 Użytkownik (620 p.)
+10 głosów
3 odpowiedzi 437 wizyt
pytanie zadane 25 marca 2018 w JavaScript przez Tomek Sochacki Ekspert (227,510 p.)

92,575 zapytań

141,424 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...