Skip to content

Latest commit

 

History

History
57 lines (38 loc) · 2.85 KB

File metadata and controls

57 lines (38 loc) · 2.85 KB

Javascript Foundations

Warning: This course is long (and tough). It's 4 code school courses. But once you're done, you'll understand everything you need to know about Javascript 😄.

Outcome

You'll:

  • Understand the majority of the features of the Javascript language.
  • Be ready to learn how to make interactive web pages.

Prerequisites

Advice

  • Javascript has versions (although Chrome, for example, tends to release them feature by feature all the time). Version ES5 is the current version, but ES6 is a lot better 😄

  • The code school courses are based on ES5.

  • He says semi colons are necessary and semi colons are good. They're not necessary anymore in modern javascript.

  • These days we don't tend not to use while loops or for loops. We'll use arrays and a collections library instead (Like .map). You'll learn this soon.

  • undefined and null are a pain. There are some libraries which help us do undefined and null checking later 😄

  • Javascript (Especially ES5) has a lot of things programmers don't like / find hard. ES6 helps alot of these things.

    • Variable scope
    • When you load a .js file <script src="myScript.js" /> it just runs...
    • All global variables in any of your .js files are accessible globally, so you can access them from anywhere. (Try not to use global vars...)
    • There are ~3 ways to declare a function :(
    • Hoisting is dangerous!
    • Objects in ES5 are quite basic (and have more than one way of doing things... overlap between objects and prototypes)
  • We will use arrays. But we won't use the manipulation methods much e.g. pop, push or shift. We'll use collection libraries 😄

  • Some of the stuff they do in the closure section you would never do.

  • ES6 offers much better syntax for doing prototypes....

  • Take loop performance section with a pinch of salt. Performance is hard. If you code is slow - measure how slow it is and try and speed it up.

  • We'll be learning something later to help with namespaces.

Learning materials

Core

Additional / useful

Tasks

  • Do all the code school courses and tasks above.

  • Write a program which prints 'Hello World' to the console inside the chrome debugging console

  • Javascript Tasks