- This repository contains a concise explanation and examples to important topics in javascript, everything is explained using examples.
This repository will cover the following topics:
- Scopes
- Value Or Reference
- Mutability
- Equality
- Hoisting
- Closures
- Immediately Invoked Function Expression (IIFE)
- Context (this)
- Callback Functions
- Promises
- Async/Await
- Classes-Objects
- ES6-classes
- Iterators
- Generators
- Memory
- Engine
- Runtime Environment
- Type Coercion
For each javascript topic we have:
-
topic.md
: includes topic explanation with numbered examples. -
All examples are written in pure javascript.
-
Every single example should be executable without using any external functions or libraries
http://shop.oreilly.com/product/9780596517748.do
https://scotch.io/tutorials/understanding-hoisting-in-javascript
https://benmccormick.org/2016/06/04/what-are-mutable-and-immutable-data-structures-2/
http://www.syntaxsuccess.com/viewarticle/javascript-variable-assignment-explained
https://frontendmayhem.com/javascript-value-vs-reference/
https://scotch.io/tutorials/understanding-scope-in-javascript
https://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-inside-a-callback
https://stackoverflow.com/questions/133973/how-does-this-keyword-work-within-a-function
https://toddmotto.com/understanding-the-this-keyword-in-javascript/
http://javascriptissexy.com/understand-javascript-closures-with-ease/
https://stackoverflow.com/questions/111102/how-do-javascript-closures-work
http://benalman.com/news/2010/11/immediately-invoked-function-expression/
https://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/
https://www.sitepoint.com/immutability-javascript/
http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/
https://davidwalsh.name/promises
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
https://tutorialzine.com/2017/07/javascript-async-await-explained
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes
https://stackoverflow.com/questions/4736910/javascript-when-to-use-prototypes
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Inheritance
https://scotch.io/tutorials/better-javascript-with-es6-pt-ii-a-deep-dive-into-classes
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management
https://medium.com/dailyjs/a-simple-guide-to-understanding-javascript-es6-generators-d1c350551950
https://www.youtube.com/watch?v=8aGhZQkoFbQ
https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf
http://davidshariff.com/blog/what-is-the-execution-context-in-javascript/