We may earn an affiliate commission when you visit our partners.
Course image
Asim Hussain

In only seven hours you will learn enough JavaScript to transform from a junior javascript developer into a senior javascript guru.

Read more

In only seven hours you will learn enough JavaScript to transform from a junior javascript developer into a senior javascript guru.

You will dramatically improve your chances of getting past a technical interview, landing that dream job and earning more money.

If you are like me you learnt Javascript by just muddling along, seeing what works and learning a thing or two every day.

However, without a grasp of the deeper fundamentals, you will hit quite a few head scratchy issues, introduce bugs, find it hard to read and understand framework and library code and won’t be considered a senior developer.

This unique course teaches you advanced javascript knowledge through a series of interview questions, with regular quizzes on the way through to cement your knowledge.

What are you going to learn?

  • Types & Equality: The different types in JS and how to check if two values are really equal?

  • Scopes: The different scopes a variable can be declared in and how to manipulate those scopes.

  • Destructuring  & Looping: Did you know that JavaScript has for methods of looping over things?

  • This: We have a whole section dedicated to the this keyword. A deep understanding of the this keyword is core to becoming a senior JavaScript developer.

  • Object Orientation: The history of OO in JavaScript from the Prototype Pattern to the Pseudo-Classical/Constructor Pattern all the way to the class syntax introduced in ES6. You need to know the previous patterns to truly understand the current class pattern.

  • Asynchronous Programming: JavaScript power is in its asynchronicity, you will learn all about the pros and cons of callbacks, promises and async/await.

  • Advanced topics in Networking such as CORS and JSONP.

  • Advanced topics in Event Handling such as the different event phases.

Why an interview format?

I find that it's only when I'm facing an upcoming interview that I get into gear and really make sure I have a deep understanding of what I claim to know.

I might know the best practice for how to solve a problem, but do I know why?

Javascript interviews are designed to dig deeper into your knowledge of a subject, see if you are just mimicking what you have read or if you have a proper understanding.

Also, it's FUN, what's more satisfying than learning something, then passing a test.

Enroll now

What's inside

Learning objectives

  • Impress interviewers with knowledge about advanced javascript features
  • Confidently interview other javascript candidates
  • Pass stage one javascript telephone interviews
  • Prepare for working on complex frontend frameworks like react, vue, svelte or angular.

Syllabus

Introduction
Hello Introduction - NEW
How to edit and run code in Chrome?
Basics
Read more
Hello Basics - NEW
What is JavaScript and how does it change? - NEW
What is compilations vs polyfilling? - NEW
What is "use strict" and what does it do?
Does javascript pass variables by reference or by value?
Quiz Basics-A
What are the rest operators? - NEW
What is the spread operator? - NEW
What are template strings? - NEW
What are template string tags? - NEW
Quiz Basics-B
Types & Equality
Hello Types & Equality - NEW
What are the different types in JavaScript?
What is the difference between == and ===?
What is NaN and how can we check for it?
Quiz Types & Equality
Scopes & Variables
Hello Scopes & Variables - NEW
What are the different scopes in JavaScript? - NEW
What is variable hoisting?
What is the scope chain?
What is an IIFE and why might you use it?
What are function closures?
Quiz Scopes & Variables
Destructuring & Looping
Hello Destructuring & Looping
What is destructuring?
What are the different ways you can loop with `for`?
Quiz Destructuring & Looping
This
Hello This - NEW
What does the this keyword mean?
What do the functions call, bind and apply do?
What is a fat arrow function?
Object Orientation
Hello Object Orientation
What is the prototype chain?
What is the difference between prototypal and classical inheritance?
Quiz Object Orientation - A
What is the Constructor OO pattern? (part 1)
What is the Constructor OO pattern? (part 2)
What is the Prototype OO pattern?
How do you use the class and extends keywords? - NEW
Quiz Object Orientation - B
Asynchronous Programming
Hello Asynchronous Programming
What is a callback?
What is callback hell?
What are promises?
How do you chain promises together?
What does the Promise.all function do?
What is async/await and how is it different from promises?
Quiz Asynchronous Programming
Networking

http://www.html5rocks.com/en/tutorials/cors/

18. What is JSONP?
Quiz Networking
Events
What is the difference between event capturing and bubbling?
What is the difference between stopPropagation and preventDefault?
Quiz Events
Bonus


Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches a range of essential JavaScript features and advanced techniques, making it suitable for senior developers seeking to enhance their knowledge
Prepares learners for technical interviews, enabling them to showcase their advanced JavaScript skills
Helps learners pass the first stage of JavaScript telephone interviews
Provides a solid foundation for working on complex frontend frameworks, such as React, Vue, Svelte, and Angular
Emphasizes the practical application of JavaScript by incorporating interview questions and quizzes to reinforce understanding
Covers a wide range of advanced JavaScript topics, including asynchronous programming, object orientation, and event handling, ensuring a comprehensive learning experience

Save this course

Save Advanced Javascript to your list so you can find it easily later:
Save

Reviews summary

Javascript fundamentals with hands-on developments

Learners say javascript works is a well-received course. The lectures and resources available within the course go in-depth into javascript and allow learners to see how javascript works in action. While some learners stated that the assignments and quizzes were engaging and provided practical uses for their understanding of javascript, others stated that they are difficult and time-consuming. Nonetheless, students believe that this course provides a strong foundation in javascript and have no trouble recommending this course to others.
Javascript is explain deeply.
"It explains deeply how javascript works"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Advanced Javascript with these activities:
Follow the React tutorial on the official website
The official React tutorial is a great way to get started with the framework. Work through the tutorial to get a solid understanding of the basics.
Browse courses on React
Show steps
  • Create a new React project
  • Add some components to your project
  • Style your components with CSS
  • Add some interactivity to your components
  • Deploy your project
Join a JavaScript study group
Joining a study group is a great way to learn from others and get help with your coursework. This will help you improve your understanding of JavaScript and pass your exams.
Browse courses on JavaScript
Show steps
  • Find a study group to join
  • Attend the study group meetings regularly
  • Participate in the discussions
  • Help other members of the group
  • Study for exams together
ESLint drills
Reinforce the understanding of coding standards by running a linter over the code.
Browse courses on Scope
Show steps
  • Choose a JavaScript file with syntax or style issues
  • Run ESLint on the file
  • Fix the issues reported by ESLint
  • Run ESLint again to verify the fixes
Eight other activities
Expand to see all activities and additional details
Show all 11 activities
MDN JavaScript Tutorial
Mozilla’s comprehensive guide provides a complete breakdown of essential concepts
Browse courses on JavaScript
Show steps
  • Visit the MDN JavaScript Tutorial website
  • Read through the 'Getting Started' section
  • Choose a specific topic to explore further
  • Work through the tutorial and complete the exercises
  • Review the tutorial to reinforce your understanding
Solve JavaScript coding problems
Solving JavaScript coding problems will help you improve your problem-solving skills and your understanding of the language. This will help you pass technical interviews and land your dream job.
Browse courses on JavaScript
Show steps
  • Find a coding problem to solve
  • Read the problem statement carefully
  • Identify the key concepts in the problem
  • Come up with a solution
  • Implement your solution in JavaScript
Javascript Challenges
Practice drills reinforce critical concepts by solving challenges and coding
Show steps
  • Set a timer for 5 minutes
  • Solve the coding challenge
  • Review the solution
  • Repeat steps 1-3 for 5 challenges
Review SICP
This book will solidify your foundation in computer science. Read in parallel with the course to enhance your understanding of the core concepts being taught.
Show steps
  • Read the first section of each chapter
  • Work through the exercises and projects
  • Discuss your understanding with a mentor
Build a React portfolio
Build a portfolio of React projects to demonstrate your skills and understanding of the framework. This will help you pass technical interviews and land your dream job.
Browse courses on React
Show steps
  • Choose a project idea
  • Plan your project
  • Develop your project
  • Deploy your project
  • Write a blog post about your project
Attend a JavaScript workshop
Attending a JavaScript workshop is a great way to learn from experts and get hands-on experience with the framework. This will help you improve your understanding of JavaScript and pass your exams.
Browse courses on JavaScript
Show steps
  • Find a JavaScript workshop to attend
  • Register for the workshop
  • Attend the workshop
  • Participate in the discussions
  • Apply what you've learned to your own projects
Mentor a junior JavaScript developer
Mentoring a junior JavaScript developer is a great way to share your knowledge and help someone else learn. This will help you solidify your understanding of JavaScript and improve your communication skills.
Browse courses on JavaScript
Show steps
  • Find a junior JavaScript developer to mentor
  • Set up a regular meeting schedule
  • Discuss the mentee's goals and challenges
  • Provide guidance and support
  • Celebrate the mentee's progress
Contribute to an open-source JavaScript project
Contributing to an open-source JavaScript project is a great way to learn about the framework and the development process. This will help you build your portfolio and land your dream job.
Browse courses on JavaScript
Show steps
  • Find an open-source JavaScript project to contribute to
  • Read the project documentation
  • Identify an issue to work on
  • Fix the issue
  • Submit a pull request

Career center

Learners who complete Advanced Javascript will develop knowledge and skills that may be useful to these careers:
Software Architect
Software architects design, build, and maintain software systems. They analyze user needs, develop software requirements, and create high-level designs for software systems. They may also lead teams of software developers and oversee the development process to ensure that software systems are built to meet user requirements. Advanced Javascript can help you build a foundation for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.
Front-End Developer
Front-end developers design and develop the front-end of websites and web applications. They are responsible for the look and feel of a website, as well as its functionality. Advanced Javascript can help you build a foundation for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and destructuring and looping.
Web Developer
Web developers design and develop websites and web applications. They may work on the front-end of a website, which is the part of the website that users see and interact with, or on the back-end, which is the part of the website that processes data and performs calculations. Advanced Javascript can help you build a foundation for this role by teaching you advanced JavaScript features like destructuring and looping, this, and asynchronous programming.
JavaScript Developer
Javascript developers design and develop websites and web applications using the JavaScript programming language. They may work on the front-end of a website, which is the part of the website that users see and interact with, or on the back-end, which is the part of the website that processes data and performs calculations. Advanced Javascript can help you build a foundation for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, destructuring and looping, this, object orientation, asynchronous programming, and networking.
Full-Stack Developer
Full-stack developers design and develop both the front-end and back-end of websites and web applications. They are responsible for the look and feel of a website, as well as its functionality and performance. Advanced Javascript can help you build a foundation for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, destructuring and looping, this, object orientation, asynchronous programming, and networking.
Back-End Developer
Back-end developers design and develop the back-end of websites and web applications. They are responsible for the processing of data and the performance of a website. Advanced Javascript can help you build a foundation for this role by teaching you advanced JavaScript features like object orientation, asynchronous programming, and networking.
Software Engineer
Software engineers design, develop, and maintain software systems. They may work on a variety of software projects, including operating systems, database systems, and web applications. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.
Computer Programmer
Computer programmers write and maintain code for various software applications. They may work on a variety of programming projects, including developing new software, updating existing software, and fixing software bugs. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.
Technical Writer
Technical writers write and edit technical documentation, such as user manuals, white papers, and training materials. They may work on a variety of technical writing projects, including developing new technical documentation, updating existing technical documentation, and translating technical documentation into different languages. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.
Machine Learning Engineer
Machine learning engineers design and develop machine learning models. They may work on a variety of machine learning projects, including developing new machine learning algorithms, training machine learning models, and deploying machine learning models. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.
Business Analyst
Business analysts analyze business processes and systems to identify areas for improvement. They may work on a variety of business analysis projects, including developing new business processes, improving existing business processes, and implementing new business systems. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.
Product Manager
Product managers manage the development and launch of new products. They may work on a variety of product management projects, including developing new product ideas, planning product launches, and marketing new products. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.
Data Scientist
Data scientists use data to solve business problems. They may work on a variety of data science projects, including developing new data science models, analyzing data, and visualizing data. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.
UX Designer
UX designers design the user experience for websites and web applications. They are responsible for the look and feel of a website, as well as its functionality. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and destructuring and looping.
Mobile Developer
Mobile developers design and develop mobile applications for smartphones and tablets. They may work on the front-end of a mobile application, which is the part of the application that users see and interact with, or on the back-end, which is the part of the application that processes data and performs calculations. Advanced Javascript may be useful for this role by teaching you advanced JavaScript features like types and equality, scopes and variables, and object orientation.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Advanced Javascript.
Provides a deep dive into the good parts of JavaScript, helping readers understand the language's strengths and weaknesses. It is particularly useful as a reference for experienced JavaScript developers looking to improve their understanding of the language's core concepts.
Provides a comprehensive overview of JavaScript, covering both the basics and advanced concepts. It valuable resource for both beginners and experienced developers looking to expand their knowledge of the language.
Provides a detailed explanation of JavaScript's inner workings, helping readers understand how the language works at a fundamental level. It is particularly useful for developers looking to improve their understanding of the language's internals.
Provides a comprehensive overview of JavaScript, covering both the basics and advanced concepts. It valuable resource for both beginners and experienced developers looking to expand their knowledge of the language.
Provides a comprehensive reference for JavaScript, covering both the basics and advanced concepts. It valuable resource for developers of all levels looking for a single source of information on the language.
Provides a collection of design patterns for JavaScript, helping developers write more efficient and maintainable code. It valuable resource for experienced JavaScript developers looking to improve their coding skills.
Provides a deep dive into the core concepts of JavaScript, helping readers understand how the language works at a fundamental level. It valuable resource for experienced JavaScript developers looking to improve their understanding of the language's internals.
Provides a comprehensive overview of JavaScript, covering both the basics and advanced concepts. It valuable resource for both beginners and experienced developers looking to expand their knowledge of the language.
Provides a comprehensive overview of JavaScript, covering both the basics and advanced concepts. It valuable resource for both beginners and experienced developers looking to expand their knowledge of the language.
Provides a deep dive into advanced JavaScript concepts, helping readers understand how the language works at a fundamental level. It valuable resource for experienced JavaScript developers looking to improve their understanding of the language's internals.
Provides a fast-paced introduction to JavaScript, covering the basics of the language in a clear and concise manner. It valuable resource for experienced programmers looking to get started with JavaScript.
Provides a comprehensive overview of JavaScript, covering both the basics and advanced concepts. It valuable resource for both beginners and experienced developers looking to expand their knowledge of the language.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Advanced Javascript.
Master Vuejs from scratch (incl Vuex, Vue Router)
Most relevant
The Complete Modern Javascript Course with ES6
Most relevant
20 Web Projects With Vanilla JavaScript
Ultimate JavaScript Interview Course
Complete Vuejs Course: Vue.js + Nuxt.js + PHP + Express.js
Interview Success: English for Job Interviews
The Coding Interview Bootcamp: Algorithms + Data...
Introduction to D3.js
JavaScript - The Complete Guide 2024 (Beginner + Advanced)
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser