Description

Book Synopsis
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.

Trade Review
Praise for Learn Enough Tutorials

"I have nothing but fantastic things to say about @LearnEnough courses. I am just about finished with the #javascript course. I must say, the videos are mandatory because @mhartl will play the novice and share in the joy of having something you wrote actually work!"
--Claudia Vizena

"I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!"
--Michael King

"I want to thank you for the amazing job you have done with the tutorials. They are likely the best tutorials I have ever read."
--Pedro Iatzky

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.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

Learn Enough JavaScript to Be Dangerous

    Product form

    £23.99

    Includes FREE delivery

    RRP £29.99 – you save £6.00 (20%)

    Order before 4pm tomorrow for delivery by Mon 29 Jun 2026.

    A Paperback / softback by Michael Hartl

    1 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Learn Enough JavaScript to Be Dangerous by Michael Hartl

      Publisher: Pearson Education (US)
      Publication Date: 16/06/2022
      ISBN13: 9780137843749, 978-0137843749
      ISBN10: 137843747

      Description

      Book Synopsis
      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.

      Trade Review
      Praise for Learn Enough Tutorials

      "I have nothing but fantastic things to say about @LearnEnough courses. I am just about finished with the #javascript course. I must say, the videos are mandatory because @mhartl will play the novice and share in the joy of having something you wrote actually work!"
      --Claudia Vizena

      "I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!"
      --Michael King

      "I want to thank you for the amazing job you have done with the tutorials. They are likely the best tutorials I have ever read."
      --Pedro Iatzky

      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.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

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account