Secrets of the JavaScript Ninja, 2nd Video Edition

Secrets of the JavaScript Ninja, 2nd Video Edition

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 11h 19m | 1.96 GB

More than ever, the web is a universal platform for all types of applications, and JavaScript is the language of the web. If you’re serious about web development, it’s not enough to be a decent JavaScript coder. You need to be ninja-stealthy, efficient, and ready for anything. This Video Edition book shows you how.

Secrets of the JavaScript Ninja, Second Edition uses practical examples to clearly illustrate each core concept and technique. This completely revised edition shows you how to master key JavaScript concepts such as functions, closures, objects, prototypes, and promises. It covers APIs such as the DOM, events, and timers. You’ll discover best practice techniques such as testing and cross-browser development, all taught from the perspective of skilled JavaScript practitioners.

Inside:

  • Writing more effective code with functions, objects, and closures
  • Learning to avoid JavaScript application pitfalls
  • Using regular expressions to write succinct text-processing code
  • Managing asynchronous code with promises
  • Fully revised to cover concepts from ES6 and ES7
Table of Contents

01 JavaScript is everywhere
02 How will JavaScript evolve
03 Understanding the browser
04 Boosting skill transferability
05 Building the page at runtime
06 The page-building phase
07 Executing JavaScript code
08 Event handling
09 Registering event handlers
10 First-class functions for the novice – definitions and arguments
11 Callback functions
12 Fun with functions as objects
13 Defining functions
14 Function declarations and function expressions
15 Arrow functions
16 Arguments and function parameters
17 Summary
18 Functions for the journeyman – understanding function invocation
19 The arguments parameter
20 Invoking functions
21 Invocation as a constructor
22 Invocation with the apply and call methods
23 Fixing the problem of function contexts
24 Functions for the master – closures and scopes
25 Putting closures to work
26 Tracking code execution with execution contexts
27 Keeping track of identifiers with lexical environments
28 Understanding types of JavaScript variables
29 Variable definition keywords and lexical environments
30 Registering identifiers within lexical environments
31 Exploring how closures work
32 Summary
33 Functions for the future – generators and promises
34 Working with generator functions
35 Using generators
36 Communicating with a generator
37 Exploring generators under the hood
38 Working with promises
39 Diving into promises
40 Creating our first real-world promise
41 Combining generators and promises
42 Summary
43 Object orientation with prototypes
44 Object construction and prototypes
45 Side effects of the dynamic nature of JavaScript
46 Achieving inheritance
47 The problem of overriding the constructor property
48 The instanceof operator
49 Using JavaScript “classes” in ES6
50 Implementing inheritance
51 Controlling access to objects
52 Defining getters and setters
53 Using getters and setters to validate property values
54 Using proxies to control access
55 Using proxies for logging
56 Using proxies to implement negative array indexes
57 Dealing with collections
58 Adding and removing items at either end of an array
59 Common operations on arrays
60 Reusing built-in array functions
61 Maps
62 Chapter 9 . Creating our first map
63 Union of sets
64 Wrangling regular expressions
65 A regular expression refresher
66 Terms and operators
67 Compiling regular expressions
68 Capturing matching segments
69 Replacing using functions
70 Solving common problems with regular expressions
71 Code modularization techniques
72 Using objects, closures, and immediate functions to specify modules
73 Modularizing JavaScript applications with AMD and CommonJS
74 ES6 modules
75 Summary
76 Working the DOM
77 Converting HTML to DOM
78 Using DOM attributes and properties
79 Styling attribute headaches
80 Fetching computed styles
81 Measuring heights and widths
82 Minimizing layout thrashing
83 Surviving events
84 An example with only macrotasks
85 An example with both macro- and microtasks
86 Taming timers – time-outs and intervals
87 Timer execution within the event loop
88 Dealing with computationally expensive processing
89 Working with events
90 Propagating events through the DOM
91 Custom events
92 Developing cross-browser strategies
93 The five major development concerns
94 External code and markup
95 Regressions
96 Implementation strategies
97 Untestable browser issues
98 Reducing assumptions