Learn Enough JavaScript to Be Dangerous: A Tutorial Introduction to Programming with JavaScript
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.
1140839027
Learn Enough JavaScript to Be Dangerous: A Tutorial Introduction to Programming with JavaScript
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.
39.99 In Stock
Learn Enough JavaScript to Be Dangerous: A Tutorial Introduction to Programming with JavaScript

Learn Enough JavaScript to Be Dangerous: A Tutorial Introduction to Programming with JavaScript

by Michael Hartl
Learn Enough JavaScript to Be Dangerous: A Tutorial Introduction to Programming with JavaScript

Learn Enough JavaScript to Be Dangerous: A Tutorial Introduction to Programming with JavaScript

by Michael Hartl

Paperback

$39.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

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.

Product Details

ISBN-13: 9780137843749
Publisher: Pearson Education
Publication date: 06/06/2022
Pages: 304
Product dimensions: 6.90(w) x 9.13(h) x 0.88(d)

About the Author

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.

Table of Contents

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.2.1 Deployment 10

1.2.2 Exercise 13

1.3 JS in a REPL 14

1.3.1 Browser Console 14

1.3.2 Node Prompt 19

1.3.3 Exercise 20

1.4 JS in a File 21

1.4.1 Exercise 22

1.5 JS in a Shell Script 22

1.5.1 Exercise 24

Chapter 2 Strings 25

2.1 String Basics 25

2.1.1 Exercise 27

2.2 Concatenation and Interpolation 27

2.2.1 The Backtick Syntax 31

2.2.2 Exercises 32

2.3 Printing 33

2.3.1 Exercise 34

2.4 Properties, Booleans, and Control Flow 35

2.4.1 Combining and Inverting Booleans 40

2.4.2 Bang Bang 43

2.4.3 Exercises 44

2.5 Methods 44

2.5.1 Exercises 49

2.6 String Iteration 50

2.6.1 Exercises 53

Chapter 3 Arrays 55

3.1 Sphering 55

3.1.1 Exercises 56

3.2 Array Access 56

3.2.1 Exercises 58

3.3 Array Slicing 58

3.3.1 Exercises 59

3.4 More Array Methods 59

3.4.1 Sorting and Reversing 60

3.4.2 Pushing and Popping 61

3.4.3 Undoing a Split 61

3.4.4 Exercises 62

3.5 Array Iteration 62

3.5.1 Exercises 64

Chapter 4 Other Native Objects 65

4.1 Math and Number 65

4.1.1 More Advanced Operations 66

4.1.2 Math to String 67

4.1.3 Exercises 69

4.2 Dates 69

4.2.1 Exercises 73

4.3 Regular Expressions 73

4.3.1 Regex Methods 75

4.3.2 String Methods 77

4.3.3 Exercises 80

4.4 Plain Objects 81

4.4.1 Exercise 83

4.5 Application: Unique Words 83

4.5.1 Map 87

4.5.2 Exercises 89

Chapter 5 Functions 91

5.1 Function Definitions 91

5.1.1 Sorting Numerical Arrays 92

5.1.2 Fat Arrow 94

5.1.3 Exercise 95

5.2 Functions in a File 95

5.2.1 Exercises 103

5.3 Method Chaining 104

5.3.1 Caveat Emoji 108

5.3.2 Exercises 109

5.4 Iteration for Each 110

5.4.1 Exercises 113

Chapter 6 Functional Programming 115

6.1 Map 116

6.1.1 Exercise 122

6.2 Filter 122

6.2.1 Exercise 125

6.3 Reduce 126

6.3.1 Reduce, Example 1 126

6.3.2 Reduce, Example 2 129

6.3.3 Functional Programming and TDD 132

6.3.4 Exercises 133

Chapter 7 Objects and Prototypes 135

7.1 Defining Objects 135

7.1.1 Exercise 139

7.2 Prototypes 139

7.2.1 Exercise 145

7.3 Modiying Native Objects 147

7.3.1 Exercises 152

Chapter 8 Testing and Test-Driven Development 153

8.1 Testing Setup 154

8.1.1 Exercise 159

8.2 Initial Test Coverage 159

8.2.1 Pending Tests 162

8.2.2 Exercises 163

8.3 Red 164

8.3.1 Exercises 171

8.4 Green 172

8.4.1 Exercise 177

8.5 Refactor 177

8.5.1 Publishing the NPM Module 184

8.5.2 Exercises 185

Chapter 9 Events and DOM Manipulation 187

9.1 A Working Palindrome Page 187

9.1.1 Exercise 191

9.2 Event Listeners 192

9.2.1 Exercise 200

9.3 Dynamic HTML 202

9.3.1 Exercise 205

9.4 Form Handling 205

9.4.1 Exercises 210

Chapter 10 Shell Scripts with Node.js 215

10.1 Reading from Files 216

10.1.1 Exercise 218

10.2 Reading from URLs 218

10.2.1 Exercise 223

10.3 DOM Manipulation at the Command Line 224

10.3.1 Exercises 233

Chapter 11 Full Sample App: Image Gallery 235

11.1 Prepping the Gallery 235

11.1.1 Prepping the JavaScript 239

11.1.2 Exercise 241

11.2 Changing the Gallery Image 242

11.2.1 Exercises 246

11.3 Setting an Image as Current 250

11.3.1 Exercise 252

11.4 Changing the Image Info 252

11.4.1 Deploying 256

11.4.2 Exercise 257

11.5 Conclusion 259

11.5.1 Learning More JavaScript 260

11.5.2 Learning a New Language 261

Index 263

From the B&N Reads Blog

Customer Reviews