What you'll learn

JavaScript is a scripting or programming language that allows you to implement complex features on web pages — every time a web page does more than just sit there and display static information for you to look at — displaying timely content updates, interactive maps, animated 2D/3D graphics, scrolling video jukeboxes, etc.
It is the third layer of the layer cake of standard web technologies, two of which (HTML and CSS)
JavaScript is a scripting language that enables you to create dynamically updating content, control multimedia, animate images, and pretty much everything else.
CURRICULUM
Introduction
- What is JavaScript?
- Why JavaScript?
- Advantages and Limitations
- JS Versions
- Browser compatibility
- Explore JS syntax
- Using console
- JS comments
- Variables and Data types
- Debugging using chrome developer tools
Operators
- Assignment operators
- Comparison operators
- Arithmetic operators
- Bitwise operators
- Logical operators
- String operators
- Conditional (ternary) operator
- Comma operator
- Unary operators
- Relational operators
Conditions
- if
- if..else
- if..elseif
- switch
Loops
- for statement
- do..while statement
- while statement
- break statement
- continue statement
- for..in statement
- for..of statement (ES6)
Functions
- Define functions
- Parameters
- Scope, context and hoisting
- Working with Toast
- Function invocation
- Call, apply and bind
- Callbacks
- Closures
String & Dates
- Creating Strings
- Most commonly used string methods
- Creating Dates
- EditTextPreference
Arrays
- What is an array?
- CRUD operations with array
- Most commonly used array methods
Objects
- What is Object?
- Different ways to create objects?
- Constructors and object instances
- Accessing properties with dot and bracket notation
- Getters and setters
- What is 'this'?
- The Object constructor and its methods
- Working with prototype
- Inheritance
Error Handling in JavaScript
- Try..catch
- Types of Errors
HTML DOM
- What is DOM?
- Why DOM?
- Understand Document object
- CRUD with DOM
- Traversing DOM
- Built in & custom Events
Working with Forms in JavaScript
- Setting and Getting values from form elements
- Validating forms
Introduction to Babel
In this module you will understand the significance of Babel and popular presets.
Variables & Scoping
- Let & const
- Temporal Dead Zone
Template String
- Introduction
- Tagged Template Literals
Destructuring
- Introduction
- Array Destructuring
- Object Destructuring
Spread and Rest Operators
- Create a function that merges arrays and objects using spread operator
Function Improvement
- Create a function that takes default args
- Arrow functions
- Default Arguments
Object Literal Improvement
- Shorthand properties and methods
- Computed Keys
Classes
- Introduction
- Creating classes
- Inheritance
Modules
- Introduction
- Different module formats
- SystemJS module loader
Maps and Sets
- Map and Weak Maps
- Sets and Weak Sets
Modules
In this module, you will learn how iterators and iterable work and their influence on modern JS programming.
Asynchronous Programming
- Backgrounds
- Callbacks
- Promises for asynchronous programming
- Generators (ES6)
- Async / await (ES7)
Symbols
In this module, you will learn how symbols help to make metaprogramming.
JSON
- What is JSON?
- Why JSON?
- Data Types?
- Parse and Stringify JSON
- Objects and Arrays in JSON
Remote Communication in JS
- Understanding AJAX programming
- Working with XMLHttpRequest
- Working in fetch
Browser DOM
- Window Object
- History Object
- Navigator Object
- Timers
- Cookies
Local Storage
In this module you will learn how take advantage of modern browser local storage feature to persist data at client side.
Projects
In this project you will use all the skills acquired so far in this course.