Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Preface
A Brief History of JavaScript ES6 Who This Book Is For What This Book Is Not Conventions Used in This Book Safari® Books Online How to Contact Us Acknowledgments
1. Your First Application
Where to Start The Tools A Comment on Comments Getting Started The JavaScript Console jQuery Drawing Graphics Primitive Automating Repetitive Tasks Handling User Input Hello, World
2. JavaScript Development Tools
Writing ES6 Today ES6 Features
Installing Git The Terminal Your Project Root Version Control: Git Package Management: npm Build Tools: Gulp and Grunt Project Structure
The Transcompilers
Running Babel with Gulp
Linting Conclusion
3. Literals, Variables, Constants, and Data Types
Variables and Constants Variables or Constants: Which to Use? Identifier Names Literals Primitive Types and Objects Numbers Strings
Escaping
Special Characters
Template Strings Multiline Strings Numbers as Strings
Booleans Symbols null and undefined Objects Number, String, and Boolean Objects Arrays Trailing Commas in Objects and Arrays Dates Regular Expressions Maps and Sets Data Type Conversion
Converting to Numbers Converting to String Converting to Boolean
Conclusion
4. Control Flow
A Control Flow Primer
while Loops Block Statements Whitespace Helper Functions if…else Statement do…while Loop for Loop if Statement Putting It All Together
Control Flow Statements in JavaScript
Control Flow Exceptions Chaining if...else Statements Metasyntax
while statement if...else statement do...while statement for statement
Additional for Loop Patterns switch Statements for...in loop for...of loop
Useful Control Flow Patterns
Using continue to Reduce Conditional Nesting Using break or return to Avoid Unnecessary Computation Using Value of Index After Loop Completion Using Descending Indexes When Modifying Lists
Conclusion
5. Expressions and Operators
Operators Arithmetic Operators Operator Precedence Comparison Operators Comparing Numbers String Concatenation Logical Operators
Truthy and Falsy Values
AND, OR, and NOT
Short-Circuit Evaluation Logical Operators with Nonboolean Operands Conditional Operator Comma Operator
Grouping Operator
Bitwise Operators typeof Operator void Operator Assignment Operators
Destructuring Assignment Object and Array Operators Expressions in Template Strings Expressions and Control Flow Patterns
Converting if...else Statements to Conditional Expressions Converting if Statements to Short-Circuited Logical OR Expressions
Conclusion
6. Functions
Return Values Calling Versus Referencing Function Arguments
Do Arguments Make the Function? Destructuring Arguments Default Arguments
Functions as Properties of Objects The this Keyword Function Expressions and Anonymous Functions Arrow Notation call, apply, and bind Conclusion
7. Scope
Scope Versus Existence Lexical Versus Dynamic Scoping Global Scope Block Scope Variable Masking Functions, Closures, and Lexical Scope Immediately Invoked Function Expressions Function Scope and Hoisting Function Hoisting The Temporal Dead Zone Strict Mode Conclusion
8. Arrays and Array Processing
A Review of Arrays Array Content Manipulation
Adding or Removing Single Elements at the Beginning or End Adding Multiple Elements at the End Getting a Subarray Adding or Removing Elements at Any Position Cutting and Replacing Within an Array Filling an Array with a Specific Value Reversing and Sorting Arrays
Array Searching The Fundamental Array Operations: map and filter Array Magic: reduce Array Methods and Deleted or Never-Defined Elements String Joining Conclusion
9. Objects and Object-Oriented Programming
Property Enumeration
for...in Object.keys
Object-Oriented Programming
Class and Instance Creation Dynamic Properties Classes Are Functions The Prototype Static Methods Inheritance Polymorphism Enumerating Object Properties, Revisited String Representation
Multiple Inheritance, Mixins, and Interfaces Conclusion
10. Maps and Sets
Maps Weak Maps Sets Weak Sets Breaking the Object Habit
11. Exceptions and Error Handling
The Error Object Exception Handling with try and catch Throwing Errors Exception Handling and the Call Stack try...catch...finally Let Exceptions Be Exceptional
12. Iterators and Generators
The Iteration Protocol Generators
yield Expressions and Two-Way Communication Generators and return
Conclusion
13. Functions and the Power of Abstract Thinking
Functions as Subroutines Functions as Subroutines That Return a Value Functions as…Functions So What?
Functions Are Objects
IIFEs and Asynchronous Code Function Variables
Functions in an Array Pass a Function into a Function Return a Function from a Function
Recursion Conclusion
14. Asynchronous Programming
The Analogy Callbacks
setInterval and clearInterval Scope and Asynchronous Execution Error-First Callbacks Callback Hell
Promises
Creating Promises Using Promises Events Promise Chaining Preventing Unsettled Promises
Generators
One Step Forward and Two Steps Back? Don’t Write Your Own Generator Runner Exception Handling in Generator Runners
Conclusion
15. Date and Time
Dates, Time Zones, Timestamps, and the Unix Epoch Constructing Date Objects Moment.js A Practical Approach to Dates in JavaScript Constructing Dates
Constructing Dates on the Server Constructing Dates in the Browser
Transmitting Dates Displaying Dates Date Components Comparing Dates Date Arithmetic User-Friendly Relative Dates Conclusion
16. Math
Formatting Numbers
Fixed Decimals Exponential Notation Fixed Precision Different Bases Advanced Number Formatting
Constants Algebraic Functions
Exponentiation Logarithmic Functions Miscellaneous Pseudorandom Number Generation
Trigonometric Functions Hyperbolic Functions
17. Regular Expressions
Substring Matching and Replacing Constructing Regular Expressions Searching with Regular Expressions Replacing with Regular Expressions Input Consumption Alternation Matching HTML Character Sets Named Character Sets Repetition The Period Metacharacter and Escaping
A True Wildcard
Grouping Lazy Matches, Greedy Matches Backreferences Replacing Groups Function Replacements Anchoring Word Boundary Matching Lookaheads Constructing Regexes Dynamically Conclusion
18. JavaScript in the Browser
ES5 or ES6? The Document Object Model Some Tree Terminology DOM “Get” Methods Querying DOM Elements Manipulating DOM Elements Creating New DOM Elements Styling Elements Data Attributes Events
Event Capturing and Bubbling Event Categories
Ajax Conclusion
19. jQuery
The Almighty Dollar (Sign) Including jQuery Waiting for the DOM to Load jQuery-Wrapped DOM Elements Manipulating Elements Unwrapping jQuery Objects Ajax Conclusion
20. Node
Node Fundamentals Modules Core Modules, File Modules, and npm Modules Customizing Modules with Function Modules Filesystem Access Process Operating System Child Processes Streams Web Servers Conclusion
21. Object Property Configuration and Proxies
Accessor Properties: Getters and Setters Object Property Attributes Protecting Objects: Freezing, Sealing, and Preventing Extension Proxies Conclusion
22. Additional Resources
Online Documentation Periodicals Blogs and Tutorials Stack Overflow Contributing to Open Source Projects Conclusion
A. Reserved Words B. Operator Precedence Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion