Summary

In this lesson, you learned that:

  • A function is a named piece of code that you write once and can run as many times as you need. Thanks to functions, you don't have to repeat code, and when you change a function, the change applies everywhere it's used.
  • You define a function with the keyword function, a name, parentheses with parameters and a body in curly braces: function printArea(width, height) { ... }. A definition alone doesn't run anything.
  • You call a function with its name and parentheses: printArea(5, 6);. It's good practice to define functions first and call them below.
  • A parameter is a name in the definition, an argument is a value in the call. Arguments go into parameters in order. A parameter that gets no argument is undefined, unless it has a default value: function printPrice(price, currency = "EUR").
  • return gives a value back to the place of the call, so you can use the call like a value: console.log(add(2, 3)), const total = add(2, 3) * 2;. console.log only shows a value. A function without return returns undefined.
  • return ends the function right away, and the rest of the function doesn't run. With conditions, the first return that runs wins.
  • Variables created inside a function, and its parameters, exist only inside that function: they are local. Variables from outside can be used inside functions. To get a value out of a function, return it.
  • A function can take an array, go through it with a loop and return a result. The return goes after the loop.
  • Arrow functions are a shorter way to write functions: const add = (a, b) => a + b; returns the value after the arrow. With a body in curly braces, you need return: const area = (width, height) => { ... return ...; };.

In the next lesson, Objects, you will learn to keep values that belong together, such as a person's name and age, in a single value.

Instructions

Let's practice. Write a function cartTotal with two parameters: prices (an array of prices) and discount with the default value 0. The function returns the sum of the prices minus the discount. Print cartTotal(cart) and cartTotal(cart, 50). The program prints 280 and 230.

Write an arrow function formatPrice with a parameter price that returns the price as text with the currency, for example 230 EUR for 230. Use it to print the discounted total: formatPrice(cartTotal(cart, 50)).

Start programming for free

By signing up, you agree to the Terms of Service and Privacy Policy.

Or sign up with:

Back

10/10

Next