# JavaScript II

**Over nine weeks, we take you from writing your first JavaScript program all the way to the most modern tools and techniques. You’ll learn how to make website’s interactive and to write excellent, clean code.**

### Before the class <a href="#before-the-class" id="before-the-class"></a>

Fork the [JavaScript Module 2 Workshop repository](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop) to your personal account and clone it. Find help in the [MigraCode GIT Guide](https://syllabus.migracode.org/git#fork-and-clone-an-existing-project-from-github).&#x20;

This is the repo we will be using during the JavaScript module II workshop. Follow README.md file provided in the above mentioned repository.

Below an overview of the week-by-week topics - click on the title to find more details.

### Table of contents

* [**Part-1 JavaScript in the browser**](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#part-1-javascript-in-the-browser)
  * [Node.js versus browser](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#nodejs-vs-browser)
  * [The Document Object Model](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#the-dom)
  * [Attach events to DOM elements](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#attach-events-to-dom-elements)
  * [Create and manipulate DOM elements](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#create-and-manipulate-dom-elements)
* [**Part-2 Objects in JavaScript**](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#part-2-objects-in-javascript)
  * [Object basics](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#object-basics)
  * [Dot notation](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#dot-notation)
  * [Bracket notation](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#bracket-notation)
  * [Setting object members](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#setting-object-members)
  * [What is "this"?](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#what-is-this)
  * [Object built-in methods](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#object-built-in-methods)
  * [Loop through an object](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#loop-through-an-object)
* [**Part-3 Introduction to APIs**](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#part-3-introduction-to-apis)
  * [A frame of reference](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#a-frame-of-reference)
  * [What is an API and why is it valuable](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#what-an-api-is-and-why-its-valuable)
  * [How to use an API](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#how-an-api-is-used)
  * [Representing data](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#representing-data)
  * [JSON](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#json)
  * [JavaScript JSON built-in library](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#javascript-json-built-in-library)
  * [Web Storage API](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#web-storage-api)
  * [Local Storage](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#local-storage)
  * [Session Storage](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#session-storage)
  * [Todo App Local Storage Implementation](https://github.com/Migracode-Barcelona/javascript-module-2-todo-workshop#todo-app-local-storage-implementation)

![](https://4042228299-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MRebciU3NcuLgsX3ijf%2F-MSXGtKUhAK1wnjgonVJ%2F-MSXH5-qc8LZdJ2eO1So%2FP9010157migracode-bcn.jpg?alt=media\&token=8e289b5f-1fc6-4239-8750-941cd72f816c)
