KWALIFIKACJA INF3 - CZERWIEC 2019

PYTANIE NR 33.
Wybierz poprawną definicję funkcji w języku JavaScript.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna jest składnia zaczynająca się od słowa kluczowego function, po którym podaje się nazwę, listę parametrów w nawiasach oraz ciało w klamrach.
Pozostałe zapisy są niepoprawne w JavaScript: użycie new nie służy do deklaracji, brak function oznacza co najwyżej wywołanie, a "typ_funkcji" nie występuje w tej formie.

Pełne wyjaśnienie:

W JavaScript klasyczna deklaracja funkcji (function declaration) ma postać:

function nazwa(parametry) { // instrukcje
}

Kluczowe elementy to: słowo kluczowe function, identyfikator (nazwa funkcji), lista parametrów w nawiasach okrągłych oraz blok instrukcji w klamrach. Taka deklaracja tworzy funkcję o podanej nazwie.

Dlaczego pozostałe odpowiedzi są błędne?

  • "new nazwa_funkcji(argumenty) {instrukcje;}" – operator new służy do tworzenia instancji obiektu na podstawie funkcji/konstruktora lub klasy. Nie jest to składnia deklaracji funkcji, a dodatkowo blok w klamrach po wywołaniu z new nie ma tu sensu składniowego.
  • "nazwa_funkcji(argumenty) {instrukcje;}" – zapis z samą nazwą i nawiasami odpowiada raczej wywołaniu funkcji (call), a nie jej deklaracji/definicji. Do utworzenia funkcji potrzeba konstrukcji deklaracyjnej lub przypisania wyrażenia funkcyjnego do zmiennej.
  • "typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}" – JavaScript nie stosuje w tej formie jawnego typu zwracanego przed nazwą funkcji (to typowy nawyk z języków statycznie typowanych). W JS typy są dynamiczne, a taki prefiks nie jest poprawnym elementem składni deklaracji funkcji.

Warto pamiętać, że poza deklaracją funkcji spotyka się także inne formy tworzenia funkcji, np. wyrażenie funkcyjne przypisywane do zmiennej lub funkcję strzałkową. Jednak w tym pytaniu poprawna jest klasyczna deklaracja rozpoczynająca się od function.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Deklaracja funkcji to zapis rozpoczynający się od function, po którym podaje się nazwę, parametry w nawiasach i ciało w klamrach. Tworzy ona funkcję dostępną pod wskazaną nazwą, np. function suma(a, b) { ... }.
Poprawna składnia to: function + nazwa + lista parametrów w nawiasach + blok w klamrach. Przykład: function pole(r) { return Math.PI * r * r; }. Parametry są opcjonalne, ale nawiasy i klamry muszą być poprawne.
W JavaScript typy są dynamiczne, więc nie zapisuje się typu zwracanego w deklaracji funkcji (jak w C/C++/Java). Funkcja może zwrócić różne typy w zależności od danych i logiki, a informacja o typie nie jest częścią składni samej deklaracji.
Nie. Taki zapis najczęściej oznacza wywołanie funkcji (call), czyli użycie już istniejącej funkcji. Definicja/deklaracja wymaga konstrukcji tworzącej funkcję, np. z użyciem słowa kluczowego function albo przypisania wyrażenia funkcyjnego do zmiennej.
Operator new tworzy nowy obiekt, uruchamiając funkcję jako konstruktor (albo tworząc instancję klasy). To inny mechanizm niż deklarowanie funkcji. Deklaracja funkcji opisuje, jak funkcja ma wyglądać, a new wykorzystuje już istniejącą funkcję/klasę do tworzenia instancji.
Deklaracja funkcji używa słowa function i tworzy nazwany byt w kodzie. Funkcja strzałkowa ma postać (a, b) => { ... } i zwykle jest przypisywana do zmiennej. Różnią się też m.in. zachowaniem this i możliwościami użycia jako konstruktora.
Deklaracja funkcji bywa wygodna, gdy chcesz mieć czytelną strukturę kodu i łatwe odwołania do funkcji po nazwie. Często stosuje się ją w prostych skryptach i modułach narzędziowych. Wyrażenia funkcyjne częściej używa się w callbackach i gdy zależy na przypisaniu do zmiennej.
Typowe błędy to: pominięcie słowa function, pomylenie deklaracji z wywołaniem, dopisywanie "typu zwracanego" z przyzwyczajenia do innych języków oraz mylenie new z tworzeniem funkcji. Warto zawsze sprawdzić: słowo kluczowe, nawiasy parametrów i klamry.
Nie zawsze. Deklaracja funkcji zwykle ma nazwę, ale istnieją funkcje anonimowe (np. wyrażenia funkcyjne przypisywane do zmiennej lub przekazywane jako argument). Jednak w pytaniach o klasyczną deklarację funkcji najczęściej oczekuje się składni z nazwą po słowie function.
Szukaj konstrukcji zaczynającej się od function, a następnie nazwy i nawiasów z parametrami oraz klamer z ciałem. Odróżniaj to od wywołania (sama nazwa + nawiasy) oraz od składni obiektów/klas. Jeśli pojawia się "typ" przed nazwą, to nie jest typowa składnia JS.
info

Około 58% zdających odpowiada poprawnie na to pytanie. średnie

Źródła:

  • MDN Web Docs: "Functions" (JavaScript Guide) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions (dostęp: 2026-03-05)
  • MDN Web Docs: "function declaration" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function (dostęp: 2026-03-05)
  • MDN Web Docs: "new operator" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new (dostęp: 2026-03-05)

Materiały:

  • Dokumentacja MDN Web Docs: sekcja o funkcjach (JavaScript Functions)
  • Tutoriale JavaScript (podstawy składni): deklaracje, wyrażenia funkcyjne, funkcje strzałkowe
  • Ćwiczenia: przepisywanie wywołań na deklaracje i odwrotnie, rozpoznawanie błędów składni

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego