Advanced JavaScript
Summary
- This workshop teaches the participants how to take advantage of some of the advanced features offered by JavaScript for building better maintainable applications large scale applications. It also introduces some of the frameworks that can assist in this process.
- Understand and appreciate the dynamic typed nature of JavaScript language
- Be able to understand the exploit some of the functional programming techniques in JavaScript
- Understand and resolve scope issues in JavaScript
- Techniques for modularizing JavaScript code
- Know how to modularize and loadJavaScript files using Require.js
- Be aware of some of the quirks in the JS language
- Be able to use Handlebar templates for UI templating
- The Flexibility of JavaScript
- JavaScript as a Loosely Typed Language
- Functions as First-Class Objects
- Object Mutability
- Function Objects
- Function Literal
- Function Invocation Patterns
- Augmenting Types
- Recursion & Closures
- Functions as Callbacks
- Function Currying & Memorization
- How Closures Work
- Private Variables, Callbacks and Timers
- Binding Function Contexts
- Overriding Function Behavior
- Object Instantiation
- Constructors
- Inheritance and Prototype Chain
- Extending Object
- Extending Number
- Instantiation Issues
- Writing class-like code
- Global Variables
- Scope
- Semicolon Insertions
- Type Coercion
- Avoid string concatenation for dynamic generation of UI
- Template syntax
- Exploring Handlebar.js
- Binding data to templates
- Using pre-compiled templates
- Techniques for modularizing JavaScirpt code
- Using “console”
- Developer tools in the browser
- Using breakpoints
- Advanced breakpoints
- Common Design Pattern Implementations
- Model View Separation
- Module Pattern
- Revealing Module Pattern
- Observer Pattern
- Factory Pattern
- Decorator Pattern
- Strategy Pattern
- PubSub Implementation
- Overview of Unit Testing Frameworks
- Using Jasmine for Unit Testing
- Builtin matchers
- Covering Before and After
- Using Spies for Mocking
- Overview
- Configuration
- Auto watching
- Configuring Browsersc
- New Features in ES6 Overview
- Using Transpilers
- Array Functions
- Variable Declarations (let, const)
- Creating Classes
- Accessor Methods
- Modularity in ES6