Advanced JavaScript


Book Description

Gain a deeper understanding of JavaScript and apply it to build small applications in backend, frontend, and mobile frameworks. Key FeaturesExplore the new ES6 syntax, the event loop, and asynchronous programmingLearn the test-driven development approach when building appsMaster advanced JavaScript concepts to enhance your web developments skillBook Description If you are looking for a programming language to develop flexible and efficient applications, JavaScript is an obvious choice. Advanced JavaScript is a hands-on guide that takes you through JavaScript and its many features, one step at a time. You'll begin by learning how to use the new JavaScript syntax in ES6, and then work through the many other features that modern JavaScript has to offer. As you progress through the chapters, you’ll use asynchronous programming with callbacks and promises, handle browser events, and perform Document Object Model (DOM) manipulation. You'll also explore various methods of testing JavaScript projects. In the concluding chapters, you'll discover functional programming and learn to use it to build your apps. With this book as your guide, you'll also be able to develop APIs using Node.js and Express, create front-ends using React/Redux, and build mobile apps using React/Expo. By the end of Advanced JavaScript, you will have explored the features and benefits of JavaScript to build small applications. What you will learnExamine major features in ES6 and implement those features to build applicationsCreate promise and callback handlers to work with asynchronous processesDevelop asynchronous flows using Promise chaining and async/await syntaxManipulate the DOM with JavaScriptHandle JavaScript browser eventsExplore Test Driven Development and build code tests with JavaScript code testing frameworks.List the benefits and drawbacks of functional programming compared to other stylesConstruct applications with the Node.js backend framework and the React frontend frameworkWho this book is for This book is designed to target anyone who wants to write JavaScript in a professional environment. We expect the audience to have used JavaScript in some capacity and be familiar with the basic syntax. This book would be good for a tech enthusiast wondering when to use generators or how to use Promises and Callbacks effectively, or a novice developer who wants to deepen their knowledge on JavaScript and understand TDD.




Professional JavaScript for Web Developers


Book Description

Dispels the myth that JavaScript is a "baby" language and demonstrates why it is the scripting language of choice used in the design of millions of Web pages and server-side applications Quickly covers JavaScript basics and then moves on to more advanced topics such as object-oriented programming, XML, Web services, and remote scripting Addresses the many issues that Web application developers face, including internationalization, security, privacy, optimization, intellectual property issues, and obfuscation Builds on the reader's basic understanding of HTML, CSS, and the Web in general This book is also available as part of the 4-book JavaScript and Ajax Wrox Box (ISBN: 0470227818). This 4-book set includes: Professional JavaScript for Web Developers (ISBN: 0764579088) Professional Ajax 2nd edition (ISBN: 0470109491) Professional Web 2.0 Programming (ISBN: 0470087889) Professional Rich Internet Applications: Ajax and Beyond (ISBN: 0470082801)




JavaScript Allongé


Book Description

JavaScript Allongé solves two important problems for the ambitious JavaScript programmer. First, JavaScript Allongé gives you the tools to deal with JavaScript bugs, hitches, edge cases, and other potential pitfalls. There are plenty of good directions for how to write JavaScript programs. If you follow them without alteration or deviation, you will be satisfied. Unfortunately, software is a complex thing, full of interactions and side-effects. Two perfectly reasonable pieces of advice when taken separately may conflict with each other when taken together. An approach may seem sound at the outset of a project, but need to be revised when new requirements are discovered. When you “leave the path” of the directions, you discover their limitations. In order to solve the problems that occur at the edges, in order to adapt and deal with changes, in order to refactor and rewrite as needed, you need to understand the underlying principles of the JavaScript programming language in detail. You need to understand why the directions work so that you can understand how to modify them to work properly at or beyond their original limitations. That’s where JavaScript Allongé comes in. JavaScript Allongé is a book about programming with functions, because JavaScript is a programming language built on flexible and powerful functions. JavaScript Allongé begins at the beginning, with values and expressions, and builds from there to discuss types, identity, functions, closures, scopes, and many more subjects up to working with classes and instances. In each case, JavaScript Allongé takes care to explain exactly how things work so that when you encounter a problem, you’ll know exactly what is happening and how to fix it. Second, JavaScript Allongé provides recipes for using functions to write software that is simpler, cleaner, and less complicated than alternative approaches that are object-centric or code-centric. JavaScript idioms like function combinators and decorators leverage JavaScript’s power to make code easier to read, modify, debug and refactor, thus avoiding problems before they happen. JavaScript Allongé teaches you how to handle complex code, and it also teaches you how to simplify code without dumbing it down. As a result, JavaScript Allongé is a rich read releasing many of JavaScript’s subtleties, much like the Café Allongé beloved by coffee enthusiasts everywhere. License: CC BY-SA 3.0 Source is available from Github * https://github.com/justinkelly/javascript-allonge




Pro JavaScript Techniques


Book Description

This book addresses today’s approach to JavaScript in detail: modern browser support, including information on Internet Explorer 7; Object-Oriented JavaScript; testing and debugging; unobtrusive JavaScript techniques using DOM Scripting; Ajax; creating and using blocks of reusable code, and the future of JavaScript. All the concepts expressed in this up-to-the-minute reference are thoroughly backed up with real world examples and full-scale case studies. The book offers reusable functions for readers to use in their own projects, a significant time-saver. Also included are several reference sections that allow developers to look up details quickly and easily.




Functional JavaScript


Book Description

How can you overcome JavaScript language oddities and unsafe features? With this book, you’ll learn how to create code that’s beautiful, safe, and simple to understand and test by using JavaScript’s functional programming support. Author Michael Fogus shows you how to apply functional-style concepts with Underscore.js, a JavaScript library that facilitates functional programming techniques. Sample code is available on GitHub at https://github.com/funjs/book-source. Fogus helps you think in a functional way to help you minimize complexity in the programs you build. If you’re a JavaScript programmer hoping to learn functional programming techniques, or a functional programmer looking to learn JavaScript, this book is the ideal introduction. Use applicative programming techniques with first-class functions Understand how and why you might leverage variable scoping and closures Delve into higher-order functions—and learn how they take other functions as arguments for maximum advantage Explore ways to compose new functions from existing functions Get around JavaScript’s limitations for using recursive functions Reduce, hide, or eliminate the footprint of state change in your programs Practice flow-based programming with chains and functional pipelines Discover how to code without using classes




Advanced Javascript


Book Description

Advanced JavaScript, Third Edition provides an in-depth examination of the most important features of JavaScript. Beginning with an overview of JavaScript, the book quickly moves into more advanced features needed for complex yet robust JavaScript scripts, such as objects, arrays, and date and time functions. Additionally, various features of JavaScript that are essential for modern web pages are discussed, including manipulating the status bar, creating dynamic calendars, and working with forms, images, and the Document Object Model. Numerous examples illustrate how to implement various techniques. Topics covered how to enhance your web pages with LED signs, banners, and images; implementing cookies to store and retrieve information; the structure of the Document Object Model and how it can be used to view, access, and change an HTML document; Security measures to protect private information while using the Internet.




Learning JavaScript Design Patterns


Book Description

With Learning JavaScript Design Patterns, you’ll learn how to write beautiful, structured, and maintainable JavaScript by applying classical and modern design patterns to the language. If you want to keep your code efficient, more manageable, and up-to-date with the latest best practices, this book is for you. Explore many popular design patterns, including Modules, Observers, Facades, and Mediators. Learn how modern architectural patterns—such as MVC, MVP, and MVVM—are useful from the perspective of a modern web application developer. This book also walks experienced JavaScript developers through modern module formats, how to namespace code effectively, and other essential topics. Learn the structure of design patterns and how they are written Understand different pattern categories, including creational, structural, and behavioral Walk through more than 20 classical and modern design patterns in JavaScript Use several options for writing modular code—including the Module pattern, Asyncronous Module Definition (AMD), and CommonJS Discover design patterns implemented in the jQuery library Learn popular design patterns for writing maintainable jQuery plug-ins "This book should be in every JavaScript developer’s hands. It’s the go-to book on JavaScript patterns that will be read and referenced many times in the future."—Andrée Hansson, Lead Front-End Developer, presis!




Speaking JavaScript


Book Description

Like it or not, JavaScript is everywhere these days—from browser to server to mobile—and now you, too, need to learn the language or dive deeper than you have. This concise book guides you into and through JavaScript, written by a veteran programmer who once found himself in the same position. Speaking JavaScript helps you approach the language with four standalone sections. First, a quick-start guide teaches you just enough of the language to help you be productive right away. More experienced JavaScript programmers will find a complete and easy-to-read reference that covers each language feature in depth. Complete contents include: JavaScript quick start: Familiar with object-oriented programming? This part helps you learn JavaScript quickly and properly. JavaScript in depth: Learn details of ECMAScript 5, from syntax, variables, functions, and object-oriented programming to regular expressions and JSON with lots of examples. Pick a topic and jump in. Background: Understand JavaScript’s history and its relationship with other programming languages. Tips, tools, and libraries: Survey existing style guides, best practices, advanced techniques, module systems, package managers, build tools, and learning resources.




Secrets of the JavaScript Ninja


Book Description

Summary Secrets of the Javascript Ninja takes you on a journey towards mastering modern JavaScript development in three phases: design, construction, and maintenance. Written for JavaScript developers with intermediate-level skills, this book will give you the knowledge you need to create a cross-browser JavaScript library from the ground up. About this Book You can't always attack software head-on. Sometimes youcome at it sideways or sneak up from behind. You need tomaster an arsenal of tools and know every stealthy trick.You have to be a ninja. Secrets of the JavaScript Ninja leads you down the pathway toJavaScript enlightenment. This unique book starts with keyconcepts, like the relationships between functions, objects, andclosures, taught from the master's perspective. You'll grow fromapprentice to ninja as you soak up fresh insights on the techniquesyou use every day and discover features and capabilities you neverknew about. When you reach the final chapters, you'll be ready tocode brilliant JavaScript applications and maybe even write yourown libraries and frameworks. You don't have to be a ninja to read this book—just be willing tobecome one. Are you ready? Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. What's Inside Functions, objects, closures, regular expressions, and more Seeing applications and libraries from the right perspective Dealing with the complexities of cross-browser development Modern JavaScript design About the Authors John Resig is an acknowledged JavaScript authority and the creatorof the jQuery library. Bear Bibeault is a web developer and coauthorof Ajax in Practice, Prototype and Scriptaculous in Action, and jQueryin Action from Manning. Table of Contents PART 1 PREPARING FOR TRAINING Enter the ninja Arming with testing and debugging PART 2 APPRENTICE TRAINING Functions are fundamental Wielding functions Closing in on closures Object-orientation with prototypes Wrangling regular expressions Taming threads and timers PART 3 NINJA TRAINING Ninja alchemy: runtime code evaluation With statements Developing cross-browser strategies Cutting through attributes, properties, and CSS PART 4 MASTER TRAINING Surviving events Manipulating the DOM CSS selector engines




Modern Asynchronous JavaScript


Book Description

JavaScript today must interact with data-intensive APIs and networks. The solution is a program that can work asynchronously instead of finishing tasks in order. In modern JavaScript, instead of callbacks you'll use promises to improve your application's performance and responsiveness. JavaScript features introduced in ES2020, ES2021, and ESNext like Promise.allSettled(), Promise.any(), and top-level await help you develop small, fast, low-profile applications. With the AbortController API, cancel a pending async request before it has completed. Modern Asynchronous JavaScript gives you an arsenal of tools to build programs that always respond to user requests, recover quickly from difficult conditions, and deliver maximum performance. Applications today must work with information on remote servers, and users expect a quick response to complex interactions at all times, whether on a high-speed 5G cellular network or slow public WiFi. JavaScript provides developers with advanced tools to coordinate the asynchronous parts of their code efficiently and deliver responsive programs. Faster applications equal happier users, which is the promise of asynchronous JavaScript. With Modern Asynchronous JavaScript you'll learn techniques for managing your async code. Features like ES2021 Promise.any() allow you to safeguard your async code from external issues that are out of your control like server downtime. You'll discover secret weapons like top-level await to initialize resources, define dependency paths dynamically, and load dependencies with a fallback implementation. You'll even learn to how to set a time limit for async requests and react if they take too long to complete. Fast, reliable applications are a must in today's world, where users demand increasingly greater amounts of data on mobile devices. Asynchronous programming may require more cautious planning than synchronous programming but the outcome is rewarding. Asynchronous JavaScript allows you to write code that is nimble but reliable, leading to programs that load faster, respond quicker, and most importantly that you can trust to function properly. What You Need: You'll need an intermediate level of JavaScript programming skills and a browser that supports features from ES2020, ES2021, and ESNext.