Wątek przeniesiony 2020-04-24 15:09 z Webmastering przez cerrato.

Funkcja w JS

0

Piszę funkcję w JS używając VSCode.

Fajnie, ładnie i w ogóle miodnie :) ale jedna rzecz:
obrazek oraz obrazek2

O co chodzi? Dlaczego function jest podkreślone na czerwono?

0

Po researchu okazuje się że ECDMA (czy jakoś tak?) zmienili specyfikację techniczną a VSC jeszcze ich zmian nie zdążył wdrożyć. I cały problem.

Kolejnty język do ignorowania.

3

jak mi się pojawiają podobne błędy w VSC to zwykle jedno z dwóch:

  1. gdzieś mam błąd składni, zwykle ileś linijek przed tym, co jest podkreślone, więc dlatego mam szoka. Albo nie widzę, że nie zamknąłem nawiasu itp.
  2. ew. VSC się nie wyrabia z podświetlaniem, wystarczy poczekać kilka sekund albo napisać coś i skreślić, żeby wymusić odświeżenie interfejsu

Po researchu okazuje się że ECDMA (czy jakoś tak?) zmienili specyfikację techniczną a VSC jeszcze ich zmian nie zdążył wdrożyć. I cały problem.

Co masz na myśli? Jakie zmiany? Wycofują funkcje? :D Akurat JavaScript jest bardzo kompatybilnym wstecz językiem (poza różnicą między use strict, a bez niego), więc cokolwiek wprowadzają, nie zaszkodzi to raczej temu kodowi, który już jest napisany (no chyba, że ktoś używa jakichś niestabilnych proposali).

Kolejnty język do ignorowania.

Z twojego posta wynika, że prędzej jesteś niezadowolona z edytora, a nie z języka.

0

@LukeJL: dzięki, ale to ani 1) ani 2).

Na innych edytorach (Atom, TextEdit) jest dokładnie to samo.

1

Możesz podesłać więcej kodu, jakiś kontekst?

1

Obstawiam, ze nieświadomie stworzyłeś funkcję wewnątrz obiektu, tak by wynikało z treści błędu.

0

Tutaj na prośbę @Patryk27 wrzucam screena. VSCode
A problem był banalny: a w zasadzie 2: moja nieznajomość JS-a oraz 2) błędna definicja funkcji :)

2

dość nietypowa konwencja nazewnicza jak na JS (te znaki dolara na początku - to czemuś ma służyć, czy przyzwyczajenie z PHP?)

to _Create na końcu to też chyba naleciałość innego języka.

poza tym deklarujesz funkcję jako stałą:

const foo = function (bar) {
   return typeof bar;
};

a możesz po prostu zadeklarować funkcję, bez użycia żadnego const.

function foo (bar) {
   return typeof bar;
};

chociaż const z połączeniu z funkcjami strzałkowymi pozwala na zwięzłość:

const foo = bar => typeof bar;

ale to już kwestia stylu.

// Class

ten komentarz mnie niepokoi. Jaka tam magia się dzieje pod spodem? o.O Skoro tu nie ma żadnej klasy. Chyba, że została w wyciętym fragmencie... Ale mam jakieś dziwne uczucie, że tam jest odpalana jakaś dziwna magia.

0

@LukeJL:
Co do $ to u nas w firmie jest taka konwencja przyjęta i ja nie miałam na to wpływu. Ona istniała na długo zanim ja przyszłam do obecnej firmy.....
Nazw funkcji też nie wolno nam zmieniać (zgodnie z ustaleniami z klientem).
W klasie co się dzieje? Nie mogę tego ujawnić niestety.

0
Anna Lisik napisał(a):

@LukeJL:
Co do $ to u nas w firmie jest taka konwencja przyjęta i ja nie miałam na to wpływu. Ona istniała na długo zanim ja przyszłam do obecnej firmy.....
Nazw funkcji też nie wolno nam zmieniać (zgodnie z ustaleniami z klientem).
W klasie co się dzieje? Nie mogę tego ujawnić niestety.

Ale jest tam prawdziwa klasa ES6 typu

class Foo() {
   constructor() {
   }
   blaBlah() {
   }
}

itp.? Bo po tej konwencji nazewniczej oraz po komentarzu "Class", to zacząłem sobie wyobrażać, że to są jakieś klasy wyobrażone, a skrypt budujący jakoś je podmienia w środku (subscriptionSheets_Create to tak jakby Create miało być metodą).

1 użytkowników online, w tym zalogowanych: 0, gości: 1