O'Reilly logo
live online training icon Live Online training

Modern JavaScript Essentials

Everything you need to learn before learning React (or any JS framework)

Topic: Web & Mobile
Samer Buna

Join expert Samer Buna for a practical introduction to the native modern JavaScript language. You’ll cover everything you’ll need to know to successfully use frontend frameworks like React or Angular—making your journey to learn these frameworks faster and a lot more pleasant. From declaring variables to managing modules and much in between, you’ll build the scaffolds that you need to properly use any JavaScript framework.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • The syntax of modern JavaScript—what to use and what to avoid
  • JavaScript concepts related to building web applications

And you’ll be able to:

  • Write native JavaScript and use native JavaScript APIs
  • Use the tools needed to work with a JavaScript application
  • Lint and debug errors related to the JavaScript language

This training course is for you because...

  • You want to explore the syntax of modern JavaScript.
  • You want to learn React or Angular but lack a solid understanding of many JavaScript concepts.


  • A general working knowledge of programming

Recommended preparation:

  • Read “Basics” (chapter 1 in Programming 101: The How and Why of Programming Revealed Using the Processing Programming Language)
  • Review the JavaScript MDN page (website)

Recommended follow-up:

About your instructor

  • Samer Buna is a polyglot coder with master's degrees in management and information security. He has years of practical experience in designing, implementing, and testing software, including web and mobile applications development, API design, functional programming, optimization, system administration, databases, and scalability. Samer has worked in several industries including real estate, government, education, and publications. Samer has also authored several technical books and online courses about Node.js, React.js, GraphQL, and Ruby on Rails. He is passionate about everything JavaScript, and he loves exploring new libraries.


The timeframes are only estimates and may vary according to how the class is progressing

Objects, functions, and scopes (60 minutes)

  • Presentation and demo: Understand expressions, types, and variables; creating and using objects; literal and shorthand notations; destructuring and REST/SPREAD; defining and calling functions; binding; parameters; returns; scopes; closures; global/local state; syntax; dynamic elements; immutability; iterations; linting and strict mode
  • Hands-on exercises: Solve an array-to-object conversion challenge; solve a functional calculator challenge
  • Group discussion: Where are these concepts most useful? Are there performance penalties?; What about classes and OOP? Are there performance penalties?
  • Q&A

Break (5 minutes)

Promises, modules, and APIs (55 minutes)

  • Presentation and demo: Concurrency and threads; callbacks; Promises; async/await; async iterations; functional programming methods; importing and exporting modules; named elements; bundling
  • Hands-on exercises: Solve a fetch-data challenge; solve a loop without for/while challenge; split a file with many concerns
  • Group discussion: How to manage async work; Is using a loop without for/while better or worse?; the future of modules
  • Q&A