Javascript Course

 

Javascript Course Overview

JavaScript is the programming language that you use to add interactive features to your website. Some examples could be games, things that happen when buttons are pressed or data is entered in forms, dynamic styling effects, animation, and much more. JavaScript basics gives you an idea of what is possible with this exciting language, and how to get started.

JavaScript is incredibly versatile. You can start small, with carousels, image galleries, fluctuating layouts, and responses to button clicks. With more experience, you’ll be able to create games, animated 2D and 3D graphics, comprehensive database-driven apps, and much more!

JavaScript itself is fairly compact yet very flexible. Developers have written a large variety of tools on top of the core JavaScript language, unlocking a vast amount of extra functionality with minimum effort. 

JavaScript (JS) is a lightweight interpreted or just-in-time compiled programming language with first-class functions. While it is most well-known as the scripting language for Web pages. JavaScript is a prototype-based, multi-paradigm, dynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles. Read more about JavaScript.

Everyone can take up this course who want to pursue their career in web development, front end application developer

Firstly, individuals must take up the HTML, CSS course and then come to the JavaScript. As you need to design the web page first and then make it dynamic.

With the course you get hired as web designer, developer in the IT companies like service now, Cisco, fidelity investments, synchrony financial and more.

An introduction, JavaScript Fundamentals, Objects: the basics, Advanced working with functions, Object properties configuration, Error handling, strings, DOM objects, Event handling, error exceptions and more.

Javascript Course Syllabus

An introduction

  • An Introduction to JavaScript
  • Code editors
  • Developer console

JavaScript Fundamentals

  • Hello, world!
  • Code structure
  • The modern mode, “use strict”
  • Variables
  • Data types
  • Type Conversions
  • Operators
  • Comparisons
  • Interaction: alert, prompt, confirm
  • Conditional operators: if, ‘?’
  • Logical operators
  • Loops: while and for
  • The “switch” statement
  • Functions
  • Function expressions and arrows
  • JavaScript specials

Code quality

  • Debugging in Chrome
  • Coding Style
  • Comments
  • Ninja code
  • Automated testing with mocha
  • Polyfills

Objects: the basics

  • Objects
  • Garbage collection
  • Symbol type
  • Object methods, “this”
  • Object to primitive conversion
  • Constructor, operator “new”

Data types

  • Methods of primitives
  • Numbers
  • Strings
  • Arrays
  • Array methods
  • Iterables
  • Map, Set, WeakMap and WeakSet
  • keys, values, entries
  • Destructuring assignment
  • Date and time
  • JSON methods, toJSON

Advanced working with functions

  • Recursion and stack
  • Rest parameters and spread operator
  • Closure
  • The old “var”
  • Global object
  • Function object, NFE
  • The “new Function” syntax
  • Scheduling: setTimeout and setInterval
  • Decorators and forwarding, call/apply
  • Function binding
  • Currying and partials
  • Arrow functions revisited

Object properties configuration

  • Property flags and descriptors
  • Property getters and setters

 

Prototypes, inheritance

  • Prototypal inheritance
  • prototype
  • Native prototypes
  • Prototype methods, objects without __proto__
  • Getting all properties

 

Classes

  • Class patterns
  • Classes
  • Class inheritance
  • Static properties and methods
  • Private and protected properties and methods
  • Extending build-in classes
  • Class checking: “instanceof”
  • Mixins

Error handling

  • Error handling, “try..catch”
  • Custom errors, extending Error

Promises, async/await

  • Introduction: callbacks
  • Promise
  • Promises chaining
  • Error handling with promises
  • Promise API
  • Promisification
  • Microtasks and event loop
  • Async/await
  • Generators, advanced iteration
  • Generators
  • Async iteration and generators

Modules

  • Modules, introduction
  • Export and Import
  • Dynamic imports

Document

  • Browser environment, specs
  • DOM tree
  • Walking the DOM
  • Searching: getElement* and querySelector*
  • Node properties: type, tag and contents
  • Attributes and properties
  • Modifying the document
  • Styles and classes
  • Element size and scrolling
  • Window sizes and scrolling
  • Coordinates

Introduction into Events

  • Introduction to browser events
  • Bubbling and capturing
  • Event delegation
  • Browser default actions

UI Events

  • Mouse events basics
  • Moving: mouseover/out, mouseenter/leave
  • Drag’n’Drop with mouse events
  • Keyboard: keydown and keyup
  • Scrolling

Forms, controls

  • Form properties and methods
  • Focusing: focus/blur
  • Events: change, input, cut, copy, paste
  • Form submission: event and method submit

Document and resource loading

  • Page: DOMContentLoaded, load, beforeunload, unload
  • Scripts: async, defer
  • Resource loading: onload and onerror