{"id":404,"url":"https://github.com/micromata/awesome-javascript-learning","last_synced_at":"2025-09-27T10:30:29.242Z","repository":{"id":39005638,"uuid":"73953958","full_name":"micromata/awesome-javascript-learning","owner":"micromata","description":"A tiny list limited to the best JavaScript Learning Resources","archived":false,"fork":false,"pushed_at":"2024-02-12T14:49:08.000Z","size":412,"stargazers_count":5190,"open_issues_count":0,"forks_count":596,"subscribers_count":150,"default_branch":"master","last_synced_at":"2024-05-23T04:42:27.331Z","etag":null,"topics":["awesome","awesome-list","javascript","javascript-learning","learning","resources"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/micromata.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":".github/contributing.md","funding":null,"license":"LICENSE.MD","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-11-16T19:33:28.000Z","updated_at":"2024-05-22T00:10:21.000Z","dependencies_parsed_at":"2023-02-19T20:15:40.336Z","dependency_job_id":"10823be7-7086-495a-aa24-28b66afa9157","html_url":"https://github.com/micromata/awesome-javascript-learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micromata%2Fawesome-javascript-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micromata%2Fawesome-javascript-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micromata%2Fawesome-javascript-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micromata%2Fawesome-javascript-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micromata","download_url":"https://codeload.github.com/micromata/awesome-javascript-learning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234425988,"owners_count":18830826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","javascript","javascript-learning","learning","resources"],"created_at":"2024-01-05T20:12:54.005Z","updated_at":"2025-09-27T10:30:29.192Z","avatar_url":"https://github.com/micromata.png","language":null,"readme":"# Awesome JavaScript Learning [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) \u003cimg src=\"https://cdn.rawgit.com/voodootikigod/logo.js/master/js.svg\" width=\"125\" align=\"right\" alt=\"JS Logo\"\u003e\n\n\u003e An awesome list limited to the best JavaScript learning resources\n\nThis list is mainly about JavaScript - the language. Not about APIs, tooling, frameworks or other aspects of todays JavaScript ecosystem.\n\n*Please read the [contribution guidelines](.github/contributing.md) before contributing.*\n\n## Contents\n\n- [JavaScript References](#javascript-references)\n- [Articles \u0026 Tutorials](#articles--tutorials)\n- [Free eBooks](#free-ebooks)\n- [Books](#books)\n- [Blogs](#blogs)\n- [Videos](#videos)\n- [Interactive learning](#interactive-learning)\n- [ES6 and above](#es6-and-above)\n- [DOM related](#dom-related)\n- [Node.js](#nodejs)\n- [Related](#related)\n\n---\n\n## JavaScript References\n\n- [MDN](https://developer.mozilla.org/docs/Web/JavaScript/Reference) - Simply the most extensive and up to date language reference.\n- [DevDocs](http://devdocs.io/javascript) - Search MDN comfortably. Even offline.\n- [JavaScript Notes \u0026 Reference](https://wesbos.com/javascript) - Detailed reference with code examples. Divided into topics covering basic and advanced subjects.\n- [Simplified JavaScript Jargon](http://jargon.js.org) - Glossary which explains all the buzzwords from the JavaScript eco system.\n- [Functional Programming Jargon](https://functional.works-hub.com/blog/Functional-Programming-Jargon) - Explains terms used in functional programming in the JavaScript context.\n- [ECMAScript® Language Specification](http://ecma-international.org/publications/standards/Ecma-262.htm) - The standard JavaScript is based on. Only for very advanced learners.\n\n## Articles \u0026 Tutorials\n\n### Overall Topics\n\n- [A re-introduction to JavaScript*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript) - Compact introduction covering types, variables, operators, control structures, functions and closures.\n- [JavaScript.info](http://javascript.info) - A modern tutorial from the basics to advanced topics with simple, but detailed explanations.\n- [Glossary of Modern JavaScript Concepts: Part 1](https://auth0.com/blog/glossary-of-modern-javascript-concepts/) - Learn the fundamentals of functional programming, reactive programming, and functional reactive programming in JavaScript.\n- [Glossary of Modern JavaScript Concepts: Part 2](https://auth0.com/blog/glossary-of-modern-javascript-concepts-part-2/) -  Explains concepts like scope and closures, data flow, change detection, components, compilation, tree shaking.\n- [Robust Client-Side JavaScript](https://molily.de/robust-javascript/) - Guide focused on writing robust code by describing possible failures and explaining how to prevent them.\n\n*\\*MDN offers a lot of [other guides](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide) for every level of knowledge to dig deeper.*\n\n### Single Topics\n\n- [JavaScript Closures Demystified](https://www.sitepoint.com/javascript-closures-demystified/) - Covering closures. From basics to use cases. Has useful comments.\n- [Understanding Hoisting](https://scotch.io/tutorials/understanding-hoisting-in-javascript) - Detailed explanation of the concept of hoisting in JavaScript.\n- [Array operations](https://danmartensen.svbtle.com/javascripts-map-reduce-and-filter) - Covering the usefulness of Array's map, reduce, and filter methods.\n- [Promises](http://www.sohamkamani.com/blog/2016/08/28/incremenal-tutorial-to-promises/) - Learning promises step by step.\n- [Async/Await](https://hackernoon.com/6-reasons-why-javascripts-async-await-blows-promises-away-tutorial-c7ec10518dd9) - Tutorial showing the advantages of consuming Promises via async functions.\n- [Pure functions](https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-pure-function-d1c076bec976) - Answers the question »What is a Pure Function?« epicly.\n- [Using Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) - Describes thoroughly how to use the Fetch API to receive and send data. \n- [Chrome DevTools](https://developers.google.com/web/tools/chrome-devtools/) - Everything you need to know about the debugging tools built into Google Chrome.\n\n## Free eBooks\n\n- [Eloquent JavaScript](http://eloquentjavascript.net) - Covering the language and runtime specifics.\n- [You Don't Know JS (book series)](https://github.com/getify/You-Dont-Know-JS) - Series of books diving deep into language.\n- [Speaking JavaScript](http://speakingjs.com) - In-depth guide beginning with the basics.\n- [JavaScript Design Patterns](http://addyosmani.com/resources/essentialjsdesignpatterns/book/) - Classical and JavaScript specific design patterns.\n- [Mostly Adequate Guide to Functional Programming](https://mostly-adequate.gitbooks.io/mostly-adequate-guide/) - Excellent primer to functional programming using JavaScript.\n- [Functional-Light JavaScript](https://github.com/getify/Functional-Light-JS) - This book explores the core principles of functional programming (FP) as they are applied to JavaScript.\n\n## Books\n\nThin books which you can get through in a few days.\n\n- [JavaScript: The Good Parts](http://shop.oreilly.com/product/9780596517748.do) - Classic material which still has relevance.\n- [The Principles of Object-Oriented JavaScript](https://www.nostarch.com/oojs) - Comprehensible, especially interesting for people with a class based OOP background.\n- [JavaScript Enlightenment](http://shop.oreilly.com/product/0636920027713.do) - Will solidify your understanding of the language.\n- [Testing JavaScript Applications](https://www.manning.com/books/testing-javascript-applications) - A complete guide for JavaScript testing tools and techniques.\n- [The Joy of JavaScript](https://www.manning.com/books/the-joy-of-javascript) - A book covering advanced language features like Iterators and Generators.\n\n## Blogs\n\n- [②ality](http://www.2ality.com) - Language features and APIs well explained by author and trainer Dr. Axel Rauschmayer.\n- [Pony Foo](https://ponyfoo.com) - Detailed and high quality posts from Nicolás Bevacqua all related to JavaScript.\n\n## Videos\n\u003c!--lint ignore no-repeat-punctuation--\u003e\n- [== ? === ??? ...#@^%](https://www.youtube.com/watch?v=qGyqzN0bjhc) - Basic talk about type coercion and strict type comparison.\n- [FunFunFunction](https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q) - Educational plus entertaining YouTube show covering language features as well as architectural topics amongst others. \n- [What the heck is the event loop anyway?](http://latentflip.com/loupe/?code=JC5vbignYnV0dG9uJywgJ2NsaWNrJywgZnVuY3Rpb24gb25DbGljaygpIHsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gdGltZXIoKSB7CiAgICAgICAgY29uc29sZS5sb2coJ1lvdSBjbGlja2VkIHRoZSBidXR0b24hJyk7ICAgIAogICAgfSwgMjAwMCk7Cn0pOwoKY29uc29sZS5sb2coIkhpISIpOwoKc2V0VGltZW91dChmdW5jdGlvbiB0aW1lb3V0KCkgewogICAgY29uc29sZS5sb2coIkNsaWNrIHRoZSBidXR0b24hIik7Cn0sIDUwMDApOwoKY29uc29sZS5sb2coIldlbGNvbWUgdG8gbG91cGUuIik7!!!PGJ1dHRvbj5DbGljayBtZSE8L2J1dHRvbj4%3D) - Awesome talk about the way JavaScript works, and a tool for exploring the callstack.\n- [Become a JavaScript Console Power-User](https://www.youtube.com/watch?v=4mf_yNLlgic) - Introduction to the browsers JavaScript console.\n- [Debugging The Web](https://www.youtube.com/watch?v=HF1luRD4Qmk) - Learn state of the art in debugging using Chrome dev tools.\n\u003c!--lint ignore no-dead-urls--\u003e\n- [Promises Are So Passé](https://vimeo.com/181328943) - Talk that shows where async goes next, why it matters, and what you need to do to put it into practice today.\n- [Learning Functional Programming with JavaScript](https://www.youtube.com/watch?v=e-5obm1G_FY) - Talk containing the best explanation of map/reduce.\n- [Understand JavaScript's this Keyword in Depth](https://egghead.io/courses/understand-javascript-s-this-keyword-in-depth) - 18 minutes divided into 8 short videos to wrap you head around `this`.\n\n## Interactive learning\n\n- [Udacity Introduction to JavaScript](https://www.udacity.com/course/intro-to-javascript--cd2073) - They also offer more advanced courses.\n- [Code School](https://www.codeschool.com/learn/javascript) - From Basics to Best Practices. Different courses related to JavaScript.\n- [Functional programming](http://reactivex.io/learnrx/) - Learn basic principles of functional programming in an interactive way by using map, filter, concatAll, reduce and zip.\n- [JavaScript30](https://javascript30.com) - Video course with 30 small and self-contained tutorials to build neat little things with plain JavaScript.\n- [Learn JavaScript Online](https://learnjavascript.online) - Interactive JavaScript course with spaced repetiton flashcards app.\n- [Exercism JavaScript Track](https://exercism.io/tracks/javascript) - Exercism provides individual practice and mentor-based learning for free.\n\n## ES6 and above\n\n- [Exploring ES6](http://exploringjs.com/es6.html) - Good introduction with in-depth chapters.\n- [Exploring ES2016 and ES2017](http://exploringjs.com/es2016-es2017.html) - Follow up of »Exploring ES6«.\n- [ES6 Overview](https://ponyfoo.com/articles/es6) - Bullet point overview including in-depth articles.\n- [ES6 Katas](http://es6katas.org) - Learn ES6 by solving unit test online.\n- [Practical ES6](https://github.com/mjavascript/practical-es6) - eBook with practical examples and advices.\n- [30 seconds of code](https://github.com/Chalarangelo/30-seconds-of-code) - Useful ES6 snippets that you can understand in 30 seconds or less.\n- [What's the difference between JavaScript and ECMAScript?](https://www.freecodecamp.org/news/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5/) - Clears the confusion about ES6 and JavaScript.\n\n## DOM related\n\n- [DOM Enlightenment](https://domenlightenment.com/) - A whole book about how to access and manipulate the DOM without a library.\n- [You Might Not Need jQuery](http://youmightnotneedjquery.com) - Get plain JavaScript code snippets (and see their jQuery equivalents).\n- [Traversing the DOM with JavaScript](https://zellwk.com/blog/dom-traversals/) - A tutorial featuring native methods to traverse the DOM.\n\n## Node.js\n\n- [The Art of Node](https://github.com/maxogden/art-of-node#readme) - Introductory tutorial covering the basics. \n- [NodeSchool](https://nodeschool.io) - Interactive self guided workshops you can also do on your own.\n- [Node Patterns](http://nodepatternsbooks.com) - Short books about code and networking patterns related to Node.js.\n- [Learn Node](https://learnnode.com) - A premium training course to learn to build apps with Node.js, Express, MongoDB.\n\n---\n\n## Related\n\n[Awesome CSS Learning](https://github.com/micromata/awesome-css-learning) - An awesome list limited to the best CSS learning resources.\n","funding_links":[],"categories":["Learn","Technical","学习","Others","Uncategorized","HarmonyOS","More","Awesome JavaScript Lists","References","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","awesome-list","Related","Other Lists","Lists","Basic Concepts","Front-End Development","frontend","Themed Directories"],"sub_categories":["awesome-*","Uncategorized","Windows Manager","CSS","Grid","TeX Lists","Javascript","JavaScript"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicromata%2Fawesome-javascript-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicromata%2Fawesome-javascript-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicromata%2Fawesome-javascript-learning/lists"}