JS Dasar: 56. Closure

by istiq20

HTML

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Closure</title>
  </head>
  <body>
    <script>
      function createAdder(value) {
        const owner = "Eko";

        function add(param) {
          console.info(owner);
          return value + param;
        }

        return add;
      }

      const addTwo = createAdder(2);
      // function addTwo(param){
      //     console.info("Eko");
      //     return 2 + param;
      // }
      console.info(addTwo(10)); // Eko, 12
      console.info(addTwo(20)); // Eko, 22

      const addTen = createAdder(10);
      // function addTen(param){
      //     console.info("Eko");
      //     return 10 + param;
      // }
      console.info(addTen(10)); // Eko, 20
      console.info(addTen(20)); // Eko, 30
    </script>
  </body>
</html>