Learn Enough JavaScript to be Dangerous: A Tutorial Introduction to Programming with JavaScript, 1st edition

Published by Addison-Wesley Professional (May 27, 2022) © 2022

  • Michael Hartl

eTextbook

$37.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
$31.99

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
All You Need to Know, and Nothing You Don't, to Write JavaScript for the Web and Beyond
JavaScript plays a key role in modern software development, not only because it is the only language that runs inside virtually all web browsers, but also because it has become widely used for back-end and general-purpose development as well. Although JavaScript is a big language, you don't need to learn "everything" about it to get started, just how to use it efficiently to solve real problems. In Learn Enough JavaScript to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need to be professionally productive.
Even if you've never programmed before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Treating JavaScript as a general-purpose language right from the start, Hartl offers examples for creating dynamic effects in browsers and for writing scripts and modules using Node.js. Focused exercises help you internalize what matters, without wasting time on details pros don't care about. Soon, it'll be like you were born knowing this stuff--and you'll be suddenly, seriously dangerous.
Learn enough about . . .
  • Rapidly deploying a simple JavaScript app to the live Web
  • Working with strings and other native JavaScript objects
  • Applying functions and elegant, powerful functional-programming techniques
  • Creating new objects with both properties and methods
  • Writing tests and improving code with test-driven development (TDD)
  • Developing and using self-contained, modular NPM software packages
  • Adding interactivity with event listeners, dynamic HTML forms, and DOM manipulation
  • Writing useful, nontrivial JavaScript shell scripts
  • Building an industrial-grade interactive website with JavaScript, from start to finish
Michael Hartl's Learn Enough series includes books and video courses that focus on the most important parts of each subject, so you don't have to learn everything to get started--you just have to learn enough to be dangerous and solve technical problems yourself.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
  • Helps students learn the essentials of JavaScript syntax, both functional and object programming techniques
  • Goes beyond web programming to encourage students to use JavaScript as a general-purpose language
  • Focused exercises and behind-the-scenes insights—all in full color
Preface xiii
About the Author xvii

Chapter 1: Hello, World! 1
1.1 Introduction to JavaScript 5
1.2 JS in a Web Browser 7
1.3 JS in a REPL 14
1.4 JS in a File 21
1.5 JS in a Shell Script 22

Chapter 2: Strings 25
2.1 String Basics 25
2.2 Concatenation and Interpolation 27
2.3 Printing 33
2.4 Properties, Booleans, and Control Flow 35
2.5 Methods 44
2.6 String Iteration 50

Chapter 3: Arrays 55
3.1 Splitting 55
3.2 Array Access 56
3.3 Array Slicing 58
3.4 More Array Methods 59
3.5 Array Iteration 62

Chapter 4: Other Native Objects 65
4.1 Math and Number 65
4.2 Dates 69
4.3 Regular Expressions 73
4.4 Plain Objects 81
4.5 Application: Unique Words 83

Chapter 5: Functions 91
5.1 Function Definitions 91
5.2 Functions in a File 95
5.3 Method Chaining 104
5.4 Iteration for Each 110

Chapter 6: Functional Programming 115
6.1 Map 116
6.2 Filter 122
6.3 Reduce 126

Chapter 7: Objects and Prototypes 135
7.1 Defining Objects 135
7.2 Prototypes 139
7.3 Modifying Native Objects 147

Chapter 8: Testing and Test-Driven Development 153
8.1 Testing Setup 154
8.2 Initial Test Coverage 159
8.3 Red 164
8.4 Green 172
8.5 Refactor 177

Chapter 9: Events and DOM Manipulation 187
9.1 A Working Palindrome Page 187
9.2 Event Listeners 192
9.3 Dynamic HTML 202
9.4 Form Handling 205

Chapter 10: Shell Scripts with Node.js 215
10.1 Reading from Files 216
10.2 Reading from URLs 218
10.3 DOM Manipulation at the Command Line 224

Chapter 11: Full Sample App: Image Gallery 235
11.1 Prepping the Gallery 235
11.2 Changing the Gallery Image 242
11.3 Setting an Image as Current 250
11.4 Changing the Image Info 252
11.5 Conclusion 259

Index 263
Michael Hartl created the legendary Ruby on Railsâ„¢ Tutorial that helped jumpstart thousands of web development careers. A cofounder and principal author at Learn Enough, Hartl previously earned a Ph.D. in physics at the California Institute of Technology (Caltech), where he received a Lifetime Achievement Award for Excellence in Teaching. He is also an alumnus of Harvard University and the world-renowned Y Combinator entrepreneur program.

Need help? Get in touch

Learning to code? Learn Enough is based on the idea that you don't have to learn everything about tech to get started—you just have to learn enough to be dangerous.

While each of these books will stand alone, the approach throughout the series is to teach how to hit the ground running while learning technical sophistication that the authors define as: "An essential aspect of using computers is the ability to figure things out and troubleshoot on your own—or technical sophistication. Developing technical sophistication means not only following systematic tutorials... but also knowing when it's time to break free of a structured presentation and just start googling around for a solution." These books and videos demonstrate how to put the tools, code, and a knowledge of the development environment together as an integrated whole, gaining an understanding of a particular ecosystem with a clear path to immediate, savvy productivity. These materials are not full of hello-world examples, but take advantage of the latest, streamlined tools and best practices for front and back-end web developers to quickly build simple yet real-world applications that can launch immediately.

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â