JavaScript – ECMAScript 2015 - 3 Days

JavaScript – ECMAScript 2015 - 3 Days
Pre-requisites
  • Attendees should have in-depth knowledge of HTML.
  • No prior programming experience is assumed.
  • This course can be swiftly adapted for a programming-savvy audience.
(It is mandatory to accomplish the training prerequisite conditions before nominating for the session)
ECMAScript (or ES) is a trademarked scripting-language specification standardized by Ecma International in ECMA-262 and ISO/IEC 16262. It was created to standardize JavaScript, so as to foster multiple independent implementations. JavaScript has remained the best-known implementation of ECMAScript since the standard was first published, with other well-known implementations including JScript and ActionScript.
Coders commonly use ECMAScript for client-side scripting on the World Wide Web, and it is increasingly being used for writing server applications and services using Node.js.
JavaScript is a popular general-purpose scripting language used to put energy and pizazz into otherwise dead Web pages by allowing a page to interact with users and respond to events that occur on the page. JavaScript has been described as the glue that holds Web pages together. It would be a hard task to find a commercial Web page, or almost any Web page that does not contain some JavaScript code.
JavaScript, originally called LiveScript, was developed by Brendan Eich at Netscape in 1995 and was shipped with Netscape Navigator 2.0 beta releases. JavaScript is a scripting language that gives life, hence LiveScript, to otherwise static HTML pages.
COURSE DETAILS
Technologies covered:   JavaScript
Length and schedule:                     Three Days, 10am - 6pm
COURSE OUTLINE
Day 1

Introduction to JavaScript

  • What JavaScript Is?
  • What JavaScript Is Not?
  • What JavaScript Is Used For?
  • JavaScript and Its Place in the Web.
JavaScript Building Blocks: Data Types, Literals, and Variables
  • Data Types
    • Primitive Data Types
    • Composite Data Types
  • Variables
    • Valid Names
    • Declaring and Initializing Variables
    • Dynamically or Loosely Typed Language
    • Scope of Variables
    • Concatenation and Variables
  • let, const and Block Scoping
Operators
  • About JavaScript Operators and Expressions
    • Assignment
    • Precedence and Associativity
  • Types of Operators
    • Arithmetic Operators
    • Shortcut Assignment Operators
    • Autoincrement and Autodecrement Operators
    • Concatenation Operator
    • Comparison Operators
    • Logical Operators
    • The Conditional Operator
  • Data Type Conversion
    • The parseInt() Function
    • The parseFloat() Function
    • The eval() Function
  • Wrapper Objects (String, Number, Function, Boolean)
    • The String Object
    • The Number Object
    • The Boolean Object
    • The Function Object

Under Certain Conditions (Just Overview, if required)

  • Control Structures, Blocks, and Compound Statements
  • Conditionals
    • if/else
    • if/else if
    • switch
  • Loops
    • The while Loop
    • The do/while Loop
    • The for Loop
    • The for/in Loop
    • Loop Control with break and continue
    • Nested Loops and Labels

Functions

  • What Is a Function?
    • Function Declaration and Invocation
    • Return Values
    • Anonymous Functions as Variables
    • IIFE
    • Function Overloading
  • Function Improvements
    • Arrow Functions Introduction
    • Understanding and Creating Callbacks
    • Arrow Function and this
    • Default Function Arguments
    • Rest Parameters
Day 2

Functions Continued…

  • Function Overloading Assignment
  • Closures
  • Object Literal Syntax
  • Module Pattern
  • Revealing Module Pattern
  • Destructuring Objects
  • Destructuring Functions - Multiple returns and named defaults

String Type

  • Template Strings (Literal)
  • Creating HTML fragments with Template Literals
  • Tagged Template Literals
  • Sanitizing User Data with Tagged Templates
  • New String Methods
Array & Collections
  • Creating Array
  • Array Shorthand
  • Spread Operator & Rest Revisited
  • New Array Methods
  • The for of loop
  • Destructuring Arrays
  • Swapping Variables with Destructuring
  • Array Extensions
  • ArrayBuffers and Typed Arrays
  • Map and WeakMap
  • Set and WeakSet

Objects

  • What Are Objects?
    • Objects and the Dot Syntax
    • Creating an Object with a Constructor
    • Properties of the Object
    • Methods of the Object
  • Object Literal Syntax
    • Object Literal Upgrades
  • Classes and User-Defined Functions
    • What Is a Class?
    • What Is this?
    • Inline Functions as Methods
  • Manipulating Objects
    • The with Keyword
    • The for/in Loop
  • ES6 Classes
    • Class Fundamentals
    • extends and super
    • Properties for Class Instances
    • Static Members
  • Extending Objects with Prototypes
    • Adding Properties with the Prototype Property
    • The Prototype Lookup Chain
    • Adding Methods with Prototype
    • Properties and Methods of All Objects
    • Creating Subclasses and Inheritance
Day 3
  • ES6 Modules
    • Module Basics
    • Named Exports in Modules
    • Module Loading with SystemJS
    • Polyfilling ES6 for Older Browsers
  • New Data Types and Extensions
    • Symbols
    • Well-known Symbols
    • Object Extensions
    • Number Extensions

Iterators & Generators

  • Iterators
  • Generators
    • Introducing Generators
    • Using Generators for Ajax Flow Control
    • Looping Generators with for of
    • Yielding in Generators

Async Await Flow

  • Understand Promises
  • Async Await - Native Promises
  • Async Await - Custom Promises
  • All About Async + Await
  • Async + Await Error Handling
  • Waiting on Multiple Promises
JavaScript Proxies
  • What are Proxies?
  • Get by Proxy
  • Calling Functions by Proxy

Comments

Popular posts from this blog

Cloud Computing in simple

How to Write an Effective Design Document

Bookmark