Get Programming with JavaScript


Book Description

Summary Get Programming with JavaScript is a hands-on introduction to programming for readers who have never programmed. You'll be writing your own web apps, games, and programs in no time! Foreword by Remy Sharp. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Book Are you ready to start writing your own web apps, games, and programs? You’re in the right place! Get Programming with JavaScript is a hands-on introduction to programming for readers who have never written a line of code. Since you’re just getting started, this friendly book offers you lots of examples backed by careful explanations. As you go along, you’ll find exercises to check your understanding and plenty of opportunities to practice your new skills. You don’t need any­thing special to follow the examples—just the text editor and web browser already installed on your computer. We even give you links to working online code so you can see how everything should look live on your screen. What’s Inside All the basics—objects, functions, responding to users, and more Think like a coder and design your own programs Create a text-based adventure game Enhance web pages with JavaScript Run your programs in a web browser Four bonus chapters available online About the Reader No experience required! All you need is a web browser and an internet connection. About the Author John Larsen is a mathematics and computing teacher with an interest in educational research. He has an MA in mathematics and an MSc in information technology. He started programming in 1982, writing simple programs for teaching mathematics in 1993, building websites in 2001, and developing data-driven web-based applications for education in 2006. Table of Contents PART 1 CORE CONCEPTS ON THE CONSOLE Programming, JavaScript, and JS Bin Variables: storing data in your program Objects: grouping your data Functions: code on demand Arguments: passing data to functions Return values: getting data from functions Object arguments: functions working with objects Arrays: putting data into lists Constructors: building objects with functions Bracket notation: flexible property names PART 2 ORGANIZING YOUR PROGRAMS Scope: hiding information Conditions: choosing code to run Modules: breaking a program into pieces Models: working with data Views: displaying data Controllers: linking models and views PART 3 JAVASCRIPT IN THE BROWSER HTML: building web pages Controls: getting user input Templates: filling placeholders with data XHR: loading data Conclusion: get programming with JavaScript BONUS ONLINE CHAPTERS Node: running JavaScript outside the browser Express: building an API Polling: repeating requests with XHR Socket.IO: real-time messaging




Get Programming with JavaScript Next


Book Description

Summary Get Programming with JavaScript Next introduces the modern age of JavaScript programming with ES6 and ES7 without dragging you through confusing jargon and abstract examples you'll never use. In just 34 quick-fire sessions, you'll quickly be coding with the latest features and functions of ES6 and ES7! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Great code is readable, bug-free, and maintainable. Modern JavaScript, aka JavaScript Next, makes it much, much easier to write great applications. New features introduced in ES2015 simplify the structure of your JavaScript projects and radically streamline async-oriented tasks like writing reactive applications and microservices. About the Book Get Programming with JavaScript Next introduces you to the new features included in the ES2015-and-later JavaScript releases. You'll learn example by example in 34 short lessons, each designed to drive home a specific skill. The coverage is complete: you'll explore new language syntax, declarations, and data types. You'll structure code with modules, replace callbacks with promises, and use classes instead of constructors. Every time you turn a page, complete an exercise, or study a carefully crafted illustration, you'll be one step closer to JavaScript mastery. What's Inside New features from ES2015 and later Writing asynchronous code Creating custom iterables Troubleshooting modules and classes About the Reader Written for web developers comfortable with standard JavaScript 5 features and coding style. About the Author J.D. Isaacks is a seasoned developer, a JavaScript instructor, and an open source maintainer. Table of Contents Lesson 1 - ECMAScript specification and the proposal process Lesson 2 - Transpiling with Babel Lesson 3 - Bundling modules with Browserify UNIT 1 - VARIABLES AND STRINGS Lesson 4 - Declaring variables with let Lesson 5 - Declaring constants with const Lesson 6 - New string methods Lesson 7 - Template literals Lesson 8 - Capstone: Building a domain-specific language UNIT 2 - OBJECTS AND ARRAYS Lesson 9 - New array methods Lesson 10 - Object.assign Lesson 11 - Destructuring Lesson 12 - New object literal syntax Lesson 13 - Symbol-a new primitive Lesson 14 - Capstone: Simulating a lock and key UNIT 3 - FUNCTIONS Lesson 15 - Default parameters and rest Lesson 16 - Destructuring parameters Lesson 17 - Arrow functions Lesson 18 - Generator functions Lesson 19 - Capstone: The prisoner's dilemma UNIT 4 - MODULES Lesson 20 - Creating modules Lesson 21 - Using modules Lesson 22 - Capstone: Hangman game UNIT 5 - ITERABLES Lesson 23 - Iterables Lesson 24 - Sets Lesson 25 - Maps Lesson 26 - Capstone: Blackjack UNIT 6 - CLASSES Lesson 27 - Classes Lesson 28 - Extending classes Lesson 29 - Capstone: Comets UNIT 7 - WORKING ASYNCHRONOUSLY Lesson 30 - Promises Lesson 31 - Advanced promises Lesson 32 - Async functions Lesson 33 - Observables Lesson 34 - Capstone: Canvas image gallery Appendix - Exercise answers




JavaScript: The Good Parts


Book Description

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole—a subset you can use to create truly extensible and efficient code. Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables. When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including: Syntax Objects Functions Inheritance Arrays Regular expressions Methods Style Beautiful features The real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book. With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.




JavaScript Next


Book Description

JavaScript has finally grown up. Armed with a slew of new features, JavaScript now makes writing the code that powers your applications elegant, concise, and easy to understand. This book is a pragmatic guide to the new features introduced in JavaScript, starting with Edition 6 of ECMAScript, and ending with Edition 9. Using a "compare and contrast" approach, each chapter offers a deep dive into new features, highlighting how best to use them moving forward. As you progress through the book, you'll be offered multiple opportunities to see the new features in action, and in concert with one another. Backed by an example-driven writing style, you'll learn by doing, and get ready to embrace the new world of JavaScript. What You'll Learn Provide a deep exposition of the new features introduced in ES6 through ES9 Review how JavaScript's new features by-pass any limitations of an existing approachExamine the refactoring necessary to go from old to newDemonstrate how JavaScript's new features work in unison with each other Who This Book Is For New and experienced developers who wish to keep abreast of the changes to JavaScript and deepen their understanding of the language.




Get Programming with Node.js


Book Description

Summary Get Programming with Node.js teaches you to build web servers using JavaScript and Node. In this engaging tutorial, you'll work through eight complete projects, from writing the code for your first web server to adding live chat to a web app. Your hands will stay on the keyboard as you explore the most important aspects of the Node development process, including security, database management, authenticating user accounts, and deploying to production. You'll especially appreciate the easy-to-follow discussions, illuminating diagrams, and carefully explained code! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Node.js delivers the speed and reliability you need for ecommerce, social media, and gaming applications. It comes with thousands of prebuilt packages to help you get started immediately. If you want to use JavaScript on the server, Node.js is your choice. What's inside New features from ES2015 and later Writing asynchronous code Creating data models Debugging JavaScript modules About the Reader Written for front-end web developers with intermediate JavaScript skills. Table of Contents GETTING SET UP Lesson 0 - Setting up Node.js and the JavaScript engine Lesson 1 - Configuring your environment Lesson 2 - Running a Node.js application UNIT 1 - GETTING STARTED WITH NODE.JS Lesson 3 - Creating a Node.js module Lesson 4 - Building a simple web server in Node.js Lesson 5 - Handling incoming data Lesson 6 - Writing better routes and serving external files Lesson 7 - Capstone: Creating your first web application UNIT 2 - EASIER WEB DEVELOPMENT WITH EXPRESS.JS Lesson 8 - Setting up an app with Express.js Lesson 9 - Routing in Express.js Lesson 10 - Connecting views with templates Lesson 11 - Configurations and error handling Lesson 12 - Capstone: Enhancing the Confetti Cuisine site with Express.js UNIT 3 - CONNECTING TO A DATABASE Lesson 13 - Setting up a MongoDB database Lssson 14 - Building models with Mongoose Lesson 15 - Connecting controllers and models Using promises with Mongoose Lesson 16 - Capstone: Saving user subscriptions UNIT 4 - BUILDING A USER MODEL Lesson 17 - Improving your data models Lesson 18 - Building the user model Lesson 19 - Creating and reading your models Lesson 20 - Updating and deleting your models Lesson 21 - Capstone: Adding CRUD models to Confetti Cuisine Creating controllers UNIT 5 - AUTHENTICATING USER ACCOUNTS Lesson 22 - Adding sessions and flash messages Lesson 23 - Building a user login and hashing passwords Lesson 24 - Adding user authentication Lesson 25 - Capstone: Adding user authentication to Confetti Cuisine UNIT 6 - BUILDING AN API Lesson 26 - Adding an API to your application Lesson 27 - Accessing your API from your application Lesson 28 - Adding API security Lesson 29 - Capstone: Implementing an API UNIT 7 - ADDING CHAT FUNCTIONALITY Lesson 30 - Working with Socket.io Lesson 31 - Saving chat messages Lesson 32 - Adding a chat notification indicator UNIT 8 - DEPLOYING AND MANAGING CODE IN PRODUCTION Lesson 33 - Capstone: Adding a chat feature to Confetti Cuisine Lesson 34 - Deploying your application Lesson 35 - Managing in production Lesson 36 - Testing your application Lesson 37 - Capstone: Deploying Confetti Cuisine




How JavaScript Works


Book Description

Douglas Crockford starts by looking at the fundamentals: names, numbers, booleans, characters, and bottom values. JavaScript’s number type is shown to be faulty and limiting, but then Crockford shows how to repair those problems. He then moves on to data structures and functions, exploring the underlying mechanisms and then uses higher order functions to achieve class-free object oriented programming. The book also looks at eventual programming, testing, and purity, all the while looking at the requirements of The Next Language. Most of our languages are deeply rooted in the paradigm that produced FORTRAN. Crockford attacks those roots, liberating us to consider the next paradigm.He also presents a strawman language and develops a complete transpiler to implement it. The book is deep, dense, full of code, and has moments when it is intentionally funny.




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.




JavaScript for Impatient Programmers


Book Description

This book makes JavaScript less challenging to learn for newcomers, by offering a modern view that is as consistent as possible. Highlights: Get started quickly, by initially focusing on modern features. Test-driven exercises and quizzes available for most chapters (sold separately). Covers all essential features of JavaScript, up to and including ES2019. Optional advanced sections let you dig deeper. No prior knowledge of JavaScript is required, but you should know how to program.




Eloquent JavaScript, 3rd Edition


Book Description

Completely revised and updated, this best-selling introduction to programming in JavaScript focuses on writing real applications. JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications. This much anticipated and thoroughly revised third edition of Eloquent JavaScript dives deep into the JavaScript language to show you how to write beautiful, effective code. It has been updated to reflect the current state of Java¬Script and web browsers and includes brand-new material on features like class notation, arrow functions, iterators, async functions, template strings, and block scope. A host of new exercises have also been added to test your skills and keep you on track. As with previous editions, Haverbeke continues to teach through extensive examples and immerses you in code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs. You start by learning the basic structure of the JavaScript language as well as control structures, functions, and data structures to help you write basic programs. Then you'll learn about error handling and bug fixing, modularity, and asynchronous programming before moving on to web browsers and how JavaScript is used to program them. As you build projects such as an artificial life simulation, a simple programming language, and a paint program, you'll learn how to: - Understand the essential elements of programming, including syntax, control, and data - Organize and clarify your code with object-oriented and functional programming techniques - Script the browser and make basic web applications - Use the DOM effectively to interact with browsers - Harness Node.js to build servers and utilities Isn't it time you became fluent in the language of the Web? * All source code is available online in an inter¬active sandbox, where you can edit the code, run it, and see its output instantly.




You Don't Know JS: Scope & Closures


Book Description

No matter how much experience you have with JavaScript, odds are you don’t fully understand the language. This concise yet in-depth guide takes you inside scope and closures, two core concepts you need to know to become a more efficient and effective JavaScript programmer. You’ll learn how and why they work, and how an understanding of closures can be a powerful part of your development skillset. Like other books in the "You Don’t Know JS" series, Scope and Closures dives into trickier parts of the language that many JavaScript programmers simply avoid. Armed with this knowledge, you can achieve true JavaScript mastery. Learn about scope, a set of rules to help JavaScript engines locate variables in your code Go deeper into nested scope, a series of containers for variables and functions Explore function- and block-based scope, “hoisting”, and the patterns and benefits of scope-based hiding Discover how to use closures for synchronous and asynchronous tasks, including the creation of JavaScript libraries