W języku JavaScript zdefiniowano funkcję pole_prostokata(a, b), która zwraca pole prostokąta o bokach a i b. Prawidłowe wywołanie tej funkcji dla boków 3 i 4 wraz z zapisaniem wyniku w zmiennej pole to
A.
pole_prostokata(3, 4) = pole;
B.
pole_prostokata(3, 4);
C.
let pole = pole_prostokata(3, 4);
D.
pole_prostokata(3, 4, pole);
Poprawne wywołanie z zapisaniem wyniku ma postać: let pole = pole_prostokata(3, 4);. Po prawej stronie znaku = znajduje się wywołanie funkcji z dwoma argumentami: 3 trafia do parametru a, a 4 do parametru b. Funkcja oblicza i zwraca wynik, czyli pole prostokąta, a operator przypisania zapisuje tę zwróconą wartość w zmiennej pole zadeklarowanej słowem let. Do zapamiętania: jeśli funkcja zwraca wartość, zapisuje się ją według schematu let nazwaZmiennej = nazwaFunkcji(argument1, argument2);. W praktyce taki zapis stosuje się przy obliczeniach, które mają być później wykorzystane, na przykład do wyświetlenia wyniku, porównania wartości albo dalszych działań w skrypcie.
W tym zadaniu łatwo pomylić samo wywołanie funkcji z zapisaniem wartości zwracanej przez funkcję. Zapis pole_prostokata(3, 4); uruchamia funkcję dla argumentów 3 i 4, ale nie przypisuje wyniku do żadnej zmiennej, więc nie spełnia warunku zapisania wyniku w zmiennej pole. Zapis pole_prostokata(3, 4, pole); przekazuje do funkcji trzeci argument, lecz z treści wynika, że funkcja ma tylko parametry a i b. Dodanie zmiennej jako argumentu nie powoduje automatycznie zapisania wyniku. Zapis pole_prostokata(3, 4) = pole; ma odwróconą logikę przypisania i jest nieprawidłowy składniowo, ponieważ po lewej stronie operatora = powinna znajdować się zmienna, do której trafia wartość. Poprawny zapis to let pole = pole_prostokata(3, 4);. Typowy błąd polega na traktowaniu argumentów funkcji jak miejsca na wynik zamiast użycia wartości zwracanej przez funkcję po prawej stronie przypisania.