135 lines
17 KiB
Plaintext
135 lines
17 KiB
Plaintext
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome JavaScript Learning [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge.svg)[0m[38;2;255;187;0m[1m[4m (https://awesome.re) [0m
|
||
|
||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mAn awesome list limited to the best JavaScript learning resources[39m
|
||
|
||
[38;5;12mThis list is mainly about JavaScript - the language. Not about APIs, tooling, frameworks or other aspects of todays JavaScript ecosystem.[39m
|
||
|
||
[48;2;30;30;40m[38;5;13m[3mPlease read the [0m[48;2;30;30;40m[38;5;14m[1m[3mcontribution guidelines[0m[48;2;30;30;40m[38;5;13m[3m (.github/contributing.md) before contributing.[0m
|
||
|
||
[38;2;255;187;0m[4mContents[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mJavaScript References[0m[38;5;12m (#javascript-references)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mArticles & Tutorials[0m[38;5;12m (#articles--tutorials)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFree eBooks[0m[38;5;12m (#free-ebooks)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBooks[0m[38;5;12m (#books)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBlogs[0m[38;5;12m (#blogs)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mVideos[0m[38;5;12m (#videos)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mInteractive learning[0m[38;5;12m (#interactive-learning)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mES6 and above[0m[38;5;12m (#es6-and-above)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDOM related[0m[38;5;12m (#dom-related)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNode.js[0m[38;5;12m (#nodejs)[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRelated[0m[38;5;12m (#related)[39m
|
||
|
||
[38;5;238m――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――[39m
|
||
|
||
[38;2;255;187;0m[4mJavaScript References[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mMDN[0m[38;5;12m (https://developer.mozilla.org/docs/Web/JavaScript/Reference) - Simply the most extensive and up to date language reference.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDevDocs[0m[38;5;12m (http://devdocs.io/javascript) - Search MDN comfortably. Even offline.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJavaScript Notes & Reference[0m[38;5;12m (https://wesbos.com/javascript) - Detailed reference with code examples. Divided into topics covering basic and advanced subjects.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSimplified JavaScript Jargon[0m[38;5;12m (http://jargon.js.org) - Glossary which explains all the buzzwords from the JavaScript eco system.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional Programming Jargon[0m[38;5;12m (https://functional.works-hub.com/blog/Functional-Programming-Jargon) - Explains terms used in functional programming in the JavaScript context.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mECMAScript® Language Specification[0m[38;5;12m (http://ecma-international.org/publications/standards/Ecma-262.htm) - The standard JavaScript is based on. Only for very advanced learners.[39m
|
||
|
||
[38;2;255;187;0m[4mArticles & Tutorials[0m
|
||
|
||
[38;2;255;187;0m[4mOverall Topics[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mA re-introduction to JavaScript[0m[48;2;30;30;40m[38;5;13m[3m (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.[0m
|
||
[38;5;12m- [39m[38;5;14m[1mJavaScript.info[0m[38;5;12m (http://javascript.info) - A modern tutorial from the basics to advanced topics with simple, but detailed explanations.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGlossary of Modern JavaScript Concepts: Part 1[0m[38;5;12m (https://auth0.com/blog/glossary-of-modern-javascript-concepts/) - Learn the fundamentals of functional programming, reactive programming, and functional reactive programming in JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mGlossary of Modern JavaScript Concepts: Part 2[0m[38;5;12m (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.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mRobust Client-Side JavaScript[0m[38;5;12m (https://molily.de/robust-javascript/) - Guide focused on writing robust code by describing possible failures and explaining how to prevent them.[39m
|
||
|
||
[38;5;12m*[39m[48;2;30;30;40m[38;5;13m[3mMDN offers a lot of [0m[48;2;30;30;40m[38;5;14m[1m[3mother guides[0m[48;2;30;30;40m[38;5;13m[3m (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide) for every level of knowledge to dig deeper.[0m
|
||
|
||
[38;2;255;187;0m[4mSingle Topics[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mJavaScript Closures Demystified[0m[38;5;12m (https://www.sitepoint.com/javascript-closures-demystified/) - Covering closures. From basics to use cases. Has useful comments.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mUnderstanding Hoisting[0m[38;5;12m (https://scotch.io/tutorials/understanding-hoisting-in-javascript) - Detailed explanation of the concept of hoisting in JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mArray operations[0m[38;5;12m (https://danmartensen.svbtle.com/javascripts-map-reduce-and-filter) - Covering the usefulness of Array's map, reduce, and filter methods.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPromises[0m[38;5;12m (http://www.sohamkamani.com/blog/2016/08/28/incremenal-tutorial-to-promises/) - Learning promises step by step.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mAsync/Await[0m[38;5;12m (https://hackernoon.com/6-reasons-why-javascripts-async-await-blows-promises-away-tutorial-c7ec10518dd9) - Tutorial showing the advantages of consuming Promises via async functions.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPure functions[0m[38;5;12m (https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-pure-function-d1c076bec976) - Answers the question »What is a Pure Function?« epicly.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mUsing Fetch[0m[38;5;12m (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. [39m
|
||
[38;5;12m- [39m[38;5;14m[1mChrome DevTools[0m[38;5;12m (https://developers.google.com/web/tools/chrome-devtools/) - Everything you need to know about the debugging tools built into Google Chrome.[39m
|
||
|
||
[38;2;255;187;0m[4mFree eBooks[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mEloquent JavaScript[0m[38;5;12m (http://eloquentjavascript.net) - Covering the language and runtime specifics.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mYou Don't Know JS (book series)[0m[38;5;12m (https://github.com/getify/You-Dont-Know-JS) - Series of books diving deep into language.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mSpeaking JavaScript[0m[38;5;12m (http://speakingjs.com) - In-depth guide beginning with the basics.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJavaScript Design Patterns[0m[38;5;12m (http://addyosmani.com/resources/essentialjsdesignpatterns/book/) - Classical and JavaScript specific design patterns.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mMostly Adequate Guide to Functional Programming[0m[38;5;12m (https://mostly-adequate.gitbooks.io/mostly-adequate-guide/) - Excellent primer to functional programming using JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional-Light JavaScript[0m[38;5;12m (https://github.com/getify/Functional-Light-JS) - This book explores the core principles of functional programming (FP) as they are applied to JavaScript.[39m
|
||
|
||
[38;2;255;187;0m[4mBooks[0m
|
||
|
||
[38;5;12mThin books which you can get through in a few days.[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mJavaScript: The Good Parts[0m[38;5;12m (http://shop.oreilly.com/product/9780596517748.do) - Classic material which still has relevance.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mThe Principles of Object-Oriented JavaScript[0m[38;5;12m (https://www.nostarch.com/oojs) - Comprehensible, especially interesting for people with a class based OOP background.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJavaScript Enlightenment[0m[38;5;12m (http://shop.oreilly.com/product/0636920027713.do) - Will solidify your understanding of the language.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTesting JavaScript Applications[0m[38;5;12m (https://www.manning.com/books/testing-javascript-applications) - A complete guide for JavaScript testing tools and techniques.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mThe Joy of JavaScript[0m[38;5;12m (https://www.manning.com/books/the-joy-of-javascript) - A book covering advanced language features like Iterators and Generators.[39m
|
||
|
||
[38;2;255;187;0m[4mBlogs[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1m②ality[0m[38;5;12m (http://www.2ality.com) - Language features and APIs well explained by author and trainer Dr. Axel Rauschmayer.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPony Foo[0m[38;5;12m (https://ponyfoo.com) - Detailed and high quality posts from Nicolás Bevacqua all related to JavaScript.[39m
|
||
|
||
[38;2;255;187;0m[4mVideos[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1m== ? === ??? ...#@^%[0m[38;5;12m (https://www.youtube.com/watch?v=qGyqzN0bjhc) - Basic talk about type coercion and strict type comparison.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunFunFunction[0m[38;5;12m (https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q) - Educational plus entertaining YouTube show covering language features as well as architectural topics amongst others. [39m
|
||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mWhat[0m[38;5;14m[1m [0m[38;5;14m[1mthe[0m[38;5;14m[1m [0m[38;5;14m[1mheck[0m[38;5;14m[1m [0m[38;5;14m[1mis[0m[38;5;14m[1m [0m[38;5;14m[1mthe[0m[38;5;14m[1m [0m[38;5;14m[1mevent[0m[38;5;14m[1m [0m[38;5;14m[1mloop[0m[38;5;14m[1m [0m[38;5;14m[1manyway?[0m[38;5;12m [39m
|
||
[38;5;12m(http://latentflip.com/loupe/?code=JC5vbignYnV0dG9uJywgJ2NsaWNrJywgZnVuY3Rpb24gb25DbGljaygpIHsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gdGltZXIoKSB7CiAgICAgICAgY29uc29sZS5sb2coJ1lvdSBjbGlja2VkIHRoZSBidXR0b24hJyk7ICAgIAogICAgfSwgMjAwMCk7Cn0pOwoKY29uc29sZS5[39m
|
||
[38;5;12msb2coIkhpISIpOwoKc2V0VGltZW91dChmdW5jdGlvbiB0aW1lb3V0KCkgewogICAgY29uc29sZS5sb2coIkNsaWNrIHRoZSBidXR0b24hIik7Cn0sIDUwMDApOwoKY29uc29sZS5sb2coIldlbGNvbWUgdG8gbG91cGUuIik7!!!PGJ1dHRvbj5DbGljayBtZSE8L2J1dHRvbj4%3D)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mAwesome[39m[38;5;12m [39m[38;5;12mtalk[39m[38;5;12m [39m[38;5;12mabout[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mway[39m[38;5;12m [39m
|
||
[38;5;12mJavaScript[39m[38;5;12m [39m[38;5;12mworks,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mtool[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mexploring[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcallstack.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mBecome a JavaScript Console Power-User[0m[38;5;12m (https://www.youtube.com/watch?v=4mf_yNLlgic) - Introduction to the browsers JavaScript console.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mDebugging The Web[0m[38;5;12m (https://www.youtube.com/watch?v=HF1luRD4Qmk) - Learn state of the art in debugging using Chrome dev tools.[39m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mPromises Are So Passé[0m[38;5;12m (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.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLearning Functional Programming with JavaScript[0m[38;5;12m (https://www.youtube.com/watch?v=e-5obm1G_FY) - Talk containing the best explanation of map/reduce.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mUnderstand JavaScript's this Keyword in Depth[0m[38;5;12m (https://egghead.io/courses/understand-javascript-s-this-keyword-in-depth) - 18 minutes divided into 8 short videos to wrap you head around [39m[48;5;235m[38;5;249mthis[49m[39m[38;5;12m.[39m
|
||
|
||
[38;2;255;187;0m[4mInteractive learning[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mUdacity Introduction to JavaScript[0m[38;5;12m (https://www.udacity.com/course/intro-to-javascript--cd2073) - They also offer more advanced courses.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mCode School[0m[38;5;12m (https://www.codeschool.com/learn/javascript) - From Basics to Best Practices. Different courses related to JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mFunctional programming[0m[38;5;12m (http://reactivex.io/learnrx/) - Learn basic principles of functional programming in an interactive way by using map, filter, concatAll, reduce and zip.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mJavaScript30[0m[38;5;12m (https://javascript30.com) - Video course with 30 small and self-contained tutorials to build neat little things with plain JavaScript.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLearn JavaScript Online[0m[38;5;12m (https://learnjavascript.online) - Interactive JavaScript course with spaced repetiton flashcards app.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mExercism JavaScript Track[0m[38;5;12m (https://exercism.io/tracks/javascript) - Exercism provides individual practice and mentor-based learning for free.[39m
|
||
|
||
[38;2;255;187;0m[4mES6 and above[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mExploring ES6[0m[38;5;12m (http://exploringjs.com/es6.html) - Good introduction with in-depth chapters.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mExploring ES2016 and ES2017[0m[38;5;12m (http://exploringjs.com/es2016-es2017.html) - Follow up of »Exploring ES6«.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mES6 Overview[0m[38;5;12m (https://ponyfoo.com/articles/es6) - Bullet point overview including in-depth articles.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mES6 Katas[0m[38;5;12m (http://es6katas.org) - Learn ES6 by solving unit test online.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mPractical ES6[0m[38;5;12m (https://github.com/mjavascript/practical-es6) - eBook with practical examples and advices.[39m
|
||
[38;5;12m- [39m[38;5;14m[1m30 seconds of code[0m[38;5;12m (https://github.com/Chalarangelo/30-seconds-of-code) - Useful ES6 snippets that you can understand in 30 seconds or less.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mWhat's the difference between JavaScript and ECMAScript?[0m[38;5;12m (https://www.freecodecamp.org/news/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5/) - Clears the confusion about ES6 and JavaScript.[39m
|
||
|
||
[38;2;255;187;0m[4mDOM related[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mDOM Enlightenment[0m[38;5;12m (https://domenlightenment.com/) - A whole book about how to access and manipulate the DOM without a library.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mYou Might Not Need jQuery[0m[38;5;12m (http://youmightnotneedjquery.com) - Get plain JavaScript code snippets (and see their jQuery equivalents).[39m
|
||
[38;5;12m- [39m[38;5;14m[1mTraversing the DOM with JavaScript[0m[38;5;12m (https://zellwk.com/blog/dom-traversals/) - A tutorial featuring native methods to traverse the DOM.[39m
|
||
|
||
[38;2;255;187;0m[4mNode.js[0m
|
||
|
||
[38;5;12m- [39m[38;5;14m[1mThe Art of Node[0m[38;5;12m (https://github.com/maxogden/art-of-node#readme) - Introductory tutorial covering the basics. [39m
|
||
[38;5;12m- [39m[38;5;14m[1mNodeSchool[0m[38;5;12m (https://nodeschool.io) - Interactive self guided workshops you can also do on your own.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mNode Patterns[0m[38;5;12m (http://nodepatternsbooks.com) - Short books about code and networking patterns related to Node.js.[39m
|
||
[38;5;12m- [39m[38;5;14m[1mLearn Node[0m[38;5;12m (https://learnnode.com) - A premium training course to learn to build apps with Node.js, Express, MongoDB.[39m
|
||
|
||
[38;5;238m――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――[39m
|
||
|
||
[38;2;255;187;0m[4mRelated[0m
|
||
|
||
[38;5;14m[1mAwesome CSS Learning[0m[38;5;12m (https://github.com/micromata/awesome-css-learning) - An awesome list limited to the best CSS learning resources.[39m
|
||
|
||
[38;5;12mjavascriptlearning Github: https://github.com/micromata/awesome-javascript-learning[39m
|