Fibonacci sequence array in Javascript This is my third day of learning Javascript through an online class. I learned about arrays and while/for loops today, and to practice all of that stuff the challenge I'm working on is to make a function that produces \$(n)\$ terms of the Fibonacci sequence in an array.
So I'm hoping for some feedback on this code! I think it works but I would like to know how I could make it more efficient or better in any way.
function fibonacciGenerator (n) {
    var output=[];
    if (n===1) {
      output=[0];
    } else if (n===2) {
      output=[0,1];
    } else if (n&gt;2) {
      output=[0,1];
      for (var i=3;i&lt;=n;i++) {
        output.push(output[i-3]+output[i-2]);
      }
    }
    return output;
}
For a beginner this code looks okay. Good job using strict equality comparisons - i.e. ===. The indentation is mostly consistent, although the first indentation level is 4 spaces while all subsequent levels appear to be 2 spaces.
The biggest thing I would change is spacing. For the sake of readability, it helps to add spacing around operators - especially binary operators like ===, &gt;, =, etc. You could utilize a linter like ESLint, JSHint, etc. ESLint has rules like space-infix-ops.

While formatting preferences are very personal, a number of style
guides require spaces around operators, such as:
var sum = 1 + 2; 

The proponents of these extra spaces believe it make
the code easier to read and can more easily highlight potential
errors, such as:
var sum = i+++2; 

While this is valid JavaScript syntax, it is hard to
determine what the author intended.

1
I tried passing 0 to the function and it returned [0, 1], which is the same output if I pass 2. Theoretically it should return an empty array when 0 is passed.
The first and second else cases could be simplified to just an else, since the loop won't run unless i is less than n and for the case of 2 it would never be the case that 3 is less than 2. So it can be simplified like this:
function fibonacciGenerator (n) {
    var output = [];
    if (n === 1) {
      output = [0];
    } else {
      output = [0, 1];
      for (var i=3; i &lt;= n; i++) {
        output.push(output[i-3] + output[i-2]);
      }
    }
    return output;
}

In more advanced JavaScript the const keyword could be used to declare output so it can't be over-written, which would require exclusively using the .push() method to add elements to the output array. Using const when re-assignment isn't needed is a good habit because it can help avoid accidental re-assignment and other bugs.
Alternatively, the function could return early in the base cases - e.g. when n is 1.