Full javascript notes from - eloquentjavascript.net