Expert JavaScript [electronic resource] /
Daggett, Mark E.author.
Expert JavaScript is your definitive guide to understanding how and why JavaScript behaves the way it does. Master the inner workings of JavaScript by learning in detail how modern applications are made. In covering lesser-understood aspects of this powerful language and truly understanding how it works, your JavaScript code and programming skills will improve.  You will learn about core fundamentals of JavaScript, including deep dives into functions, scopes, closures, and practical object-oriented code. Mark Daggett explains clearly how closures, events, and asynchronous code really operate, as well as conventions and concepts to write JavaScript in a clear, pragmatic style. Many of the changes in ECMAScript6 and its implications are all explained. You'll be introduced to modern workflow tools to make application development faster, more enjoyable, and ostensibly more profitable. You'll understand how to measure code quality and write more testable JavaScript, and finally you'll learn about real-world applications of JavaScript, including JavaScript-powered robots. JavaScript is one of the most powerful languages on the web today, and it is only getting stronger. This book will take you through the process of planning, coding, testing, profiling and finally releasing your application, at expert level. With more frameworks and more improvements than ever, now is the time to become an expert at JavaScript. Make this journey - use Expert JavaScript today.
""Contents at a Glance""; ""Contents""; ""About the Author""; ""About the Technical Reviewer""; ""Acknowledgments""; ""Introduction""; ""Chapter 1: Objects and Prototyping""; ""JavaScript from a Birdâ€?s-Eye View""; ""Scripting by Design""; ""Objects Overview""; ""Objectified""; ""Property Manager""; ""configurable""; ""enumerable""; ""writable""; ""Inspecting Objects""; ""Object.getOwnPropertyDescriptor""; ""Object.getOwnPropertyNames""; ""Object.getPrototypeOf""; ""Object.hasOwnProperty""; ""Object.keys""; ""Object.isFrozen""; ""Object.isPrototypeOf""; ""Object.isExtensible""
""Object.isSealed""""Object.valueOf""; ""Object.is (ECMAScript 6)""; ""Modifying Objects""; ""Object.freeze""; ""Object.defineProperties""; ""Object.defineProperty""; ""Object.preventExtensions""; ""Object.prototype""; ""Object.seal""; ""Calling Objects""; ""Function.call and Function.apply""; ""Creating Objects""; ""Object Literals""; ""new Object()""; ""1. JavaScript Creates a New Object""; ""2. JavaScript Links the Constructor of the Newly Created Object to the Animal Function""; ""3. JavaScript Links the Objectâ€?s Prototype to Animal.prototype""
""4. JavaScript Assigns Any Supplied Arguments to the Newly Created Object""""Object.create""; ""Programming Prototypically""; ""Abstraction""; ""Encapsulation""; ""Polymorphism""; ""Ad Hoc Polymorphism""; ""Function Overloading""; ""Operator Overloading""; ""Inheritance""; ""Power of Prototype""; ""Understanding Prototypes""; ""Class by Convention""; ""Constructors""; ""Instance Properties""; ""Instance Methods""; ""Class Properties""; ""Class Methods""; ""Summary""; ""Chapter 2: Functions""; ""Blocks in JavaScript""; ""Function Arguments""; ""Winning Arguments""
""defaultParameters (ECMAScript 6)""""rest (ECMAScript 6)""; ""Function Types""; ""Function Scopes""; ""Arrow Prone (ECMAScript 6)""; ""Function Fu""; ""Expression Closures""; ""Immediately Invoked Function Expressions""; ""Recursive Functions""; ""Higher-Order Functions""; ""Debugging Functions""; ""Summary""; ""Chapter 3: Getting Closure""; ""The Straight Dope on Scope""; ""Thisunderstandings""; ""Let There Be Block Scope""; ""My First Closure""; ""Why Use Closures?""; ""Object Factories""; ""Create a Binding Proxy""; ""Contextually Aware DOM Manipulation""; ""Singleton Module Pattern""
""Summary""""Chapter 4: Jargon and Slang""; ""Jargon.prototype = new Slang(â€?)""; ""What Is Programmatic Jargon?""; ""Coercion""; ""To String""; ""To number""; ""Context-Aware Coercion""; ""Coercion Gotchas""; ""Mixed Type Comparison Through Coercion""; ""Complex Coercion""; ""Logical Operators""; ""Logical AND (&&)""; ""Assignments Through Comparisons or Implicit Fallback""; ""Logical OR (||)""; ""Default Values""; ""Logical NOT (!)""; ""Shorthand Boolean""; ""Double NOTs""; ""Immediately Invoked Function Expression""; ""Bit Twiddling""; ""Bitwise AND (&)""; ""Converting Hex to RGB""
""Bitwise OR (|)""
Includes index.
Expert JavaScript is your definitive guide to understanding how and why JavaScript behaves the way it does. Master the inner workings of JavaScript by learning in detail how modern applications are made. In covering lesser-understood aspects of this powerful language and truly understanding how it works, your JavaScript code and programming skills will improve.  You will learn about core fundamentals of JavaScript, including deep dives into functions, scopes, closures, and practical object-oriented code. Mark Daggett explains clearly how closures, events, and asynchronous code really operate, as well as conventions and concepts to write JavaScript in a clear, pragmatic style. Many of the changes in ECMAScript6 and its implications are all explained. You'll be introduced to modern workflow tools to make application development faster, more enjoyable, and ostensibly more profitable. You'll understand how to measure code quality and write more testable JavaScript, and finally you'll learn about real-world applications of JavaScript, including JavaScript-powered robots. JavaScript is one of the most powerful languages on the web today, and it is only getting stronger. This book will take you through the process of planning, coding, testing, profiling and finally releasing your application, at expert level. With more frameworks and more improvements than ever, now is the time to become an expert at JavaScript. Make this journey - use Expert JavaScript today.
Computer programming.
Software engineering.
Web Development.
Software Engineering/Programming and Operating Systems.