Is there a reason for this variable?

Solution is there but what would be the downside in just writing:

  function search (char) {

instead of saving it to variable?

function pairElement(str) {
  // Return each strand as an array of two elements, the original and the pair.
  var paired = [];

  // Function to check with strand to pair.
  var search = function(char) {
    switch (char) {
      case "A":
        paired.push(["A", "T"]);
      case "T":
        paired.push(["T", "A"]);
      case "C":
        paired.push(["C", "G"]);
      case "G":
        paired.push(["G", "C"]);

  // Loops through the input and pair.
  for (var i = 0; i < str.length; i++) {

  return paired;

// test here

I can see no downside in this case.

The main difference between a function expression and a function declaration is the function name , which can be omitted in function expressions to create anonymous functions. A function expression can be used as an IIFE (Immediately Invoked Function Expression) which runs as soon as it is defined.

One of the benefits of creating a named function expression is that in case we encountered an error, the stack trace will contain the name of the function, making it easier to find the origin of the error.

Taken from this mozilla documentation.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.