This course is specifically designed to introduce the JavaScript language to support application development in frameworks such as Angular, Backbone, Ember and Node.js. It starts with an introduction to the syntax of the language, building expressions and operators, and using conditional logic and loops. After exploring the built-in JavaScript objects, this course introduces application debugging using the browser developer tools, the pattern matching functionality of regular expressions, how to build and use functions and, finally, how to leverage the functions to validate HTML form elements. To support best practice programming and common techniques used in the frameworks, participants will be introduced to object creation, function object constructors and prototypal inheritance.

Course Duration: 2 days
Prerequisites:
  • Experience with computer programming and software development concepts
  • A basic understanding of web technology and familiarity with HTML and CSS
  • Familiarity with object-oriented programming concepts is a plus
Course Outline:
  • Fundamentals – Part One
    • The JavaScript Language
      • Browsers and Stand-Alone Engines
    • Browser and Node.js read-execute-print Loops
    • Expressions: a = x + y;
    • Data Types and Literals
    • Operators and Expressions
    • Variables and Assignment Operators
    • console.log

 

  • Fundamentals – Part Two
    • Embedding JavaScript in HTML Documents
    • Using document.write to Generate HTML Content
    • Building Relational Expressions
    • If and Switch Statements
    • JavaScript Truth
    • Arrays, While and For Loops
  • JavaScript Objects
    • Working with Object Properties
    • Number Objects
    • String Objects
    • Date Objects
    • The Math Object
    • Array Objects

 

  • Debugging Browser Applications
    • The JavaScript Console
    • Browser Developer Tools
    • Document Sources
    • Document Elements
    • Breakpoints and Values

 

  • Regular Expressions
    • Pattern Matching Fundamentals
    • Defining Regular Expressions
    • Ranges and Modifiers
    • Anchors and Other Special Characters
    • Using The Regex Object to Match Patterns
    • Using String Objects to Match Expressions
    • Replacing Matched Text in Strings
  • Functions
    • Declaring Functions
    • Function Parameters
    • Variable Scope
    • Return Values
    • Using The Function Length and Arguments Properties
    • Including JavaScript Files
    • Throwing and Catching Exceptions
    • The Error Object

 

  • HTML Forms
    • Using Form and Form Field Elements
    • Code Form Element and Document Element Events
    • Locate Document Elements and Modify Properties

 

  • Creating JavaScript Objects
    • Using Literal Object Notation to Define Objects and Properties
    • Understanding Object Extensibility
    • Building Function Object Constructors
    • Defining Closures and Working with Object Methods
    • Understanding Scope and Closures
    • Implementing Inheritance with Constructors

 

  • JavaScript Prototypes
    • The Benefits and Drawbacks of Using Closures in Constructors
    • Implementing Inheritance Through Prototypes
    • How Prototypes Are Assigned During Construction
    • Alternative Methods for Prototypes Definitions
    • Leveraging JavaScript Mixins to Define Prototypes

 

  • Next Steps
    • Suggested Topics for Further Exploration