Skip to main content

Professional JavaScript for Web Developers, 4th Edition

E-Book

$29.99

Professional JavaScript for Web Developers, 4th Edition

Matt Frisbie

ISBN: 978-1-119-36657-7 October 2019 1200 Pages

E-Book
$29.99
E-Book
$29.99
Paperback
$45.00
O-Book
Download Product Flyer

Download Product Flyer

Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description.

Description

Update your skill set for ES 6 and 7 with the ultimate JavaScript guide for pros

Professional JavaScript for Web Developers is the essential guide to next-level JavaScript development. Written for intermediate-to-advanced programmers, this book jumps right into the technical details to help you clean up your code and become a more sophisticated JavaScript developer. From JavaScript-specific object-oriented programming and inheritance, to combining JavaScript with HTML and other markup languages, expert instruction walks you through the fundamentals and beyond. This new fourth edition has been updated to cover ECMAScript 6 and 7 (also known as ES2015 and ES2016) and the major re-imagination and departure from ES 5.1; new frameworks and libraries, new techniques, new testing tools, and more are explained in detail for the professional developer, with a practical focus that helps you put your new skills to work on real-world projects.

The latest—and most dramatic—ES release is already being incorporated into JavaScript engines in major browsers; this, coupled with the rise in mobile web traffic increasing demand for responsive, dynamic web design, means that all web developers need to update their skills—and this book is your ideal resource for quick, relevant guidance.

  • Get up to date with ECMAScript 6 and 7, new frameworks, and new libraries
  • Delve into web animation, emerging APIs, and build systems
  • Test more effectively with mocks, unit tests, functional tests, and other tools
  • Plan your builds for future ES releases

Even if you think you know JavaScript, new ES releases bring big changes that will affect the way you work. For a professional-level update that doesn't waste time on coding fundamentals, Professional JavaScript for Web Developers is the ultimate resource to bring you up to speed.

Foreword xlvii

Introduction xlix

Chapter 1: What is Javascript? 1

A Short History 2

JavaScript Implementations 3

JavaScript Versions 11

Summary 12

Chapter 2: Javascript in Html 13

The <script> Element 13

Inline Code versus External Files 21

Document Modes 22

The <noscript> Element 23

Summary 24

Chapter 3: Language Basics 25

Syntax 25

Keywords and Reserved Words 28

Variables 29

Data Types 36

Operators 68

Statements 90

Functions 98

Summary 100

Chapter 4: Variables, Scope, and Memory 101

Primitive and Reference Values 101

Execution Context and Scope 106

Garbage Collection 114

Summary 122

Chapter 5: Basic Reference Types 125

The Date Type 126

The RegExp Type 131

Primitive Wrapper Types 139

Singleton Built-in Objects 157

Summary 165

Chapter 6: Collection Reference Types 167

The Object Type 167

The Array Type 170

Typed Arrays 190

The Map Type 201

The WeakMap Type 206

The Set Type 211

The WeakSet Type 217

Iteration and Spread Operators 220

Summary 222

Chapter 7: Iterators and Generators 225

Introduction to Iteration 225

The Iterator Pattern 226

Generators 236

Summary 249

Chapter 8: Objects, Classes, and Object-Oriented Programming 251

Understanding Objects 251

Object Creation 268

Inheritance 289

Classes 302

Summary 320

Chapter 9: Proxies and Reflect 323

Proxy Fundamentals 324

Proxy Traps and Reflect Methods 333

Proxy Patterns 344

Summary 348

Chapter 10: Functions 349

Arrow Functions 350

Function Names 351

Understanding Arguments 353

No Overloading 355

Default Parameter Values 356

Spread Arguments and Rest Parameters 359

Function Declarations versus Function Expressions 361

Functions as Values 362

Function Internals 364

Function Properties and Methods 367

Function Expressions 370

Recursion 372

Tail Call Optimization 373

Closures 376

Immediately Invoked Function Expressions 382

Private Variables 384

Summary 389

Chapter 11: Promises and Async Functions 391

Introduction to Asynchronous Programming 392

Promises 395

Async Functions 421

Summary 435

Chapter 12: The Browser Object Model 437

The window Object 438

The location Object 450

The navigator Object 454

The screen Object 459

The history Object 460

Summary 462

Chapter 13: Client Detection 465

Capability Detection 466

User-Agent Detection 470

Software and Hardware Detection 480

Summary 489

Chapter 14: The Document Object Model 491

Hierarchy of Nodes 492

Working with the DOM 521

Mutation Observers 529

Summary 542

Chapter 15: DOM Extensions 543

Selectors API 544

Element Traversal 546

HTML5 547

Proprietary Extensions 557

Summary 560

Chapter 16: Dom Levels 2 and 3 563

DOM Changes 564

Styles 572

Traversals 584

Ranges 590

Summary 599

Chapter 17: Events 601

Event Flow 602

Event Handlers 604

The Event Object 611

Event Types 619

Memory and Performance 659

Simulating Events 662

Summary 669

Chapter 18: Animation and Graphics with Canvas 671

Using requestAnimationFrame 672

Basic Canvas Usage 676

The 2D Context 677

WebGL 692

Summary 705

Chapter 19: Scripting Forms 707

Form Basics 707

Scripting Text Boxes 715

Scripting Select Boxes 726

Form Serialization 732

Rich Text Editing 734

Summary 741

Chapter 20: Javascript APIs 743

Atomics and SharedArrayBuffer 744

Cross-Context Messaging 751

Encoding API 753

Blob and File APIs 758

Media Elements 764

Native Drag and Drop 770

Notifications API 775

Page Visibility API 776

Streams API 777

Timing APIs 785

Web Components 791

The Web Cryptography API 808

Summary 822

Chapter 21: Error Handling and Debugging 823

Browser Error Reporting 824

Error Handling 825

Debugging Techniques 840

Common Legacy Internet Explorer Errors 844

Summary 846

Chapter 22: XML in Javascript 849

XML DOM Support in Browsers 849

XPath Support in Browsers 852

XSLT Support in Browsers 857

Summary 859

Chapter 23: JSON 861

Syntax 862

Parsing and Serialization 864

Summary 870

Chapter 24: Network Requests and Remote Resources 871

The XMLHttpRequest Object 872

XMLHttpRequest Level 2 878

Progress Events 880

Cross-Origin Resource Sharing 881

Alternate Cross-Domain Techniques 884

The Fetch API 885

The Beacon API 914

Web Sockets 915

Security 917

Summary 918

Chapter 25: Client-Side Storage 919

Cookies 919

Web Storage 929

IndexedDB 933

Summary 944

Chapter 26: Modules 945

Understanding the module pattern 946

Improvising Module Systems 950

Working with pre-ES6 module loaders 953

Working with ES6 modules 958

Summary 967

Chapter 27: Workers 969

Introduction to Workers 970

Dedicated Workers 973

Shared Workers 997

Service Workers 1003

Summary 1033

Chapter 28: Best Practices 1035

Maintainability 1035

Performance 1047

Deployment 1059

Summary 1064

Appendix A: ES2018 and ES2019 1067

Appendix B: Strict Mode 1087

Appendix C: Javascript Libraries and Frameworks 1095

Appendix D: Javascript Tools 1101

Index 1113