Learn JavaScript

BY Guanqiao Huang

Posted by HUANG on December 25, 2018

Topic

  1. Describe and use JavaScript data types, built-in methods, and variables.
    • Variables provide a way of labeling data with descriptive names.
    • They also allow storing or updating information.
    • In JavaScript there are three different keywords that can be used to create a variable, depending on its objective.
    • We can use mathematical operators to re-assign calculated values to variables.
    • JavaScript also allows concatenating and interpolating strings using combinations of variables.
  2. Use if, else if, else, switch, and ternary syntax to control the flow of a program in JavaScript.
    • if, else if, and else statements
    • comparison operators
    • logical operators
    • truthy vs falsy values
    • ternary operators
    • switch statement
  3. Functions
    • Describe JavaScript’s function syntax.
    • Practice passing data to functions.
    • Use the return keyword, ES6 arrow functions, and concise body syntax.
  4. Scoping in JavaScript
    • Classify global and block level scope in JavaScript.
    • Practice scoping when declaring variables.
  5. Arrays in JavaScript
    • Describe the arrays data structure in JavaScript.
    • Use arrays methods and properties.

    (Creating arrays. Accessing and updating elements. Using arrays main methods and properties.)

  6. Use for and while loops to execute blocks of code multiple times. Use iterator methods to simplify the process of looping over arrays.
    • For loops
    • While loops
    • Do… while statements
    • Iterators
  7. Classes and Objects in JavaScript
    • Describe the JavaScript ES6 object syntax.
    • Store data and functions inside JavaScript objects.
    • Use the this keyword.
    • Convey privacy in JavaScript methods.
    • Define getters and setters in objects.
    • Create factory functions.
    • Use destructuring techniques.
    • Create classes in JavaScript.
    • Use inheritance to minimise redundancy in your code. (In short: how to use the ‘this’ keyword, defining getters and setters in objects, foundation for classes in JavaScript, inheritance, static methods)
  8. Explain browser compatibility for JavaScript. Transpile JavaScript ES6 code to ES5.
  9. Exporting and Importing Modules
    • Identify modules in JavaScript.
    • Use modules to reuse code.
  10. Asynchronous Javascript and Requests
    • Explain what is asynchronous JavaScript.
    • Write asynchronous JavaScript using native promises.
    • Use ES8 syntax for writing asynchronous functions that read like synchronous code.
    • Explain how your web browser communicates with the internet.
    • Explain the benefits of asynchronous JavaScript properties.
    • Create calls to various APIs using four different techniques..
    • (Write async functions using the async/await syntax. Learn four different methods for interacting with real-life APIs.)
  11. Unit Test
    • Explain the benefits of software testing.
    • Identify the terminology to explain them.
    • Learn to write a basic Mocha test suite
    • Use Node’s assert.ok method to verify the expected output of your code
    • Understand and apply the four phases of a test to create an expressive testing suite
    • Evaluate the quality of your tests against the characteristics of a good test
    • Learn how to code with the TDD technique
    • Use red-green-refactor cycle
    • Use the Mocha framework and the Node.js assert library to write, automate, and organise tests in Javascript.
    • Explain Test-Driven Development.
    • Practice test-driven development to create a JavaScript testing suite using Mocha.js.