E25: Fix bad Javascript

The goal of this experience is to help you get comfortable removing errors found by ESLint:

First, create an IntelliJ project called “BadJavascript”.

Second, set up your project to use our class coding standards.

Third, create a file called “BadJavascript.js”, and copy the following code into it:

/**
 * How many violations of the AirBnb Javascript Style guide can we pack into one file?
 * Created by Philip Johnson on 8/4/16.
 */

// For unclear reasons, unless these lines are commented out, most of the ESLint errors don't appear. Yikes!
// var foo = 3;
// const obj = new Object();
// const car = "Toyota";
const obj = {
  car: car,
  'foo': 3,
  bar: 'this' + 'is' + this.car,
  baz: 'b\az'
};
const zumba = obj['car'];
const stuff = new Array();

function f(){};
function zob(param) {
  param = 2;
  let foob=4+param;
  if (param == 4) {
    return foob;
  }
}
[1, 2, 3].map(function (x) {
  const y = x + 1;
  return x * y;
});
class MyClass {
  constructor() {}
  getName() {
    return this.name;
  }
  getName() {
    return this.name;
  }
}
const TheTitle = 'The Title';

// export names so that there aren't a bunch of spurious "defined but not used" errors (except the first one!)
export default {  obj, stuff, zumba, f, zob, MyClass, TheTitle };

You should find that IntelliJ reports over two dozen errors in this small amount of code.

Now go through the code and fix all the errors. When you’re done, you should see a green checkmark on the top right of your editor window.

If you have problems, you can watch the following screencast for hints:

Submission instructions

You do not have to submit anything for this experience. However, your ability to install ESLint and use it to remove warnings will be evaluated in subsequence experiences, so be sure to complete this experience successfully!