Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/didicodes/javascript-dev-bookmarks

A collection of articles that will help you get better at JavaScript.
https://github.com/didicodes/javascript-dev-bookmarks

List: javascript-dev-bookmarks

awesome awesome-list hashnode javascript newbies

Last synced: about 2 months ago
JSON representation

A collection of articles that will help you get better at JavaScript.

Lists

README

        

[![JavaScript Dev Bookmarks](js-dev-bookmarks.png)](https://github.com/didicodes/javascript-dev-bookmarks)

**A collection of articles that will help you get better at JavaScript.πŸ’›**

Over the last year, developers from different parts of the world have published a lot of articles about various JavaScript topics on their Hashnode powered blogs. So, I decided to curate the most interesting ones and actively maintain it.

> For more context, [Hashnode](https://hashnode.com/) is a platform for developers to start a personal blog on their own domain for free. If you have written an article about JavaScript on your Hashnode blog, **please submit a pull request with your link**. If you don't, you can [sign up and get started](https://hashnode.com/) in < 2 minutes :rocket:.

## Table of Contents

- [`Why JavaScript?`](#Why JavaScript?)
- [`this`](#this)
- [Closure](#closure)
- [Scopes](#scopes)
- [Functions](#functions)
- [Arrays](#arrays)
- [Objects](#objects)
- [ES6 and More](#es6--more)
- [Promise](#promise)
- [Fun Projects](#projects)

## `Why JavaScript?`
- [Why JavaScript is a Good Choice for Beginners](https://catalins.tech/why-javascript-is-a-good-choice-for-beginners-ckdr8w2o104jpl9s1gold7rt9)

## `this`

- [JavaScript: this is easy and what do you need to know about it](https://blog.greenroots.info/javascript-this-is-easy-and-what-do-you-need-to-know-about-it-ckca1pqqr00gmmns13n921wib)
- [Closure and this - How are variables resolved within a function?](https://blog.bendtherul.es/closure-and-this-how-are-variables-resolved-within-a-function-ckddoqwv80154xvs198jkaa5m)
- [Understanding this](https://blog.meettanvi.com/understanding-this-ckd7jnsyv005nses14abf9f6g)
- [The JavaScript "this" keyword](https://codewithkisha.hashnode.dev/the-javascript-this-keyword-ckdd4cbqi00anyss165fgfyok)

## Closures

- [Understanding JavaScript Closure](https://blog.greenroots.info/understanding-javascript-closure-with-example-ckd17fci5001iw5s1fju4f8r0)
- [this-less Javascript Development](https://hashnode.com/post/this-less-javascript-development-cj4kzqj0w00m2abwtl3m5w25t)
- [Understanding Closures in JavaScript](https://moshood.hashnode.dev/understanding-closures-in-javascript-cka8xw7vo008zb6s1tm1zm2gw)
- [Understanding Closure in JavaScript](https://erons.hashnode.dev/understanding-closures-in-javascript-ck1k2c8cj00cozls1ic9fhmai)
- [10x your code with the facade pattern, currying, and closures](https://blog.mauriciorobayo.com/10x-your-code-with-the-facade-pattern-currying-and-closures-ck6k04als010ndfs1jg6gg5jo)

## Scope

- [JavaScript Scope Fundamentals with Tom and Jerry](https://blog.greenroots.info/javascript-scope-fundamentals-with-tom-and-jerry-ckcq723h4007vkxs18dxa97ae)
- [Let's Talk 'Scopes' in JavaScript](https://blog.nemotivity.xyz/lets-talk-scopes-in-javascript-ckcytt3m1002k41s18q5249jy)
- [Lexical Environments, Execution Context, Scope and Hoisting in JavaScript](https://diganta.hashnode.dev/10-lexical-environments-execution-context-scope-and-hoisting-in-javascript-ck6id2pdo00dmd9s1siz1jasg)

## Functions

- [A step by step guide to functions in JavaScript](https://blog.rutikwankhade.dev/a-step-by-step-guide-to-functions-in-javascript-ck988kutu0038css17bxftivd)
- [JavaScript Functions: Explained for Beginners](https://www.ebenezerdon.com/javascript-functions-explained-for-beginners-ck1591v9i00qtqis1zymwnb8o)
- [What is function invoking in JavaScript?](https://hashnode.com/post/what-is-function-invoking-in-javascript-ckcn98w5h002qfqs1dbuy53fg)
- [An Introduction to JavaScript Callbacks βš”](https://blog.nemotivity.xyz/an-introduction-to-javascript-callbacks-ckdcmybdx03qu66s1eh06a991)
- [Understanding JavaScript Callback Functions for Beginners](https://lo-victoria.com/understanding-javascript-callback-functions-for-beginners-ckav5w0qj07694us1xik1nstt)
- [JavaScript knowledge - Callback functions explained](https://codingskill.hashnode.dev/javascript-knowledge-callback-functions-explained-ck5v41l7n086zqps1mw5lud09)
- [JavaScript: Callback Functions](https://blog.gyenabubakar.dev/javascript-callback-functions-cjzqqijty000hd6s1ia0rv1pe)
- [Higher Order Functions in less than five minutes !](https://glamboyosa.hashnode.dev/higher-order-functions-in-less-than-five-minutes-ck2wfmb5o002b1ws1lyad3p5s)
- [What are higher-order functions, and why should anyone care?](https://jrsinclair.hashnode.dev/what-are-higher-order-functions-and-why-should-anyone-care-cjxl5goj40004bps19ztaiony)
- [High Order Functionsβ€Šβ€”β€ŠEasy Mode](https://hashnode.com/post/high-order-functions-easy-mode-cjmhw3k1t00jwpys18ipvwztj)
- [Call, Apply & Bind](https://erons.hashnode.dev/javascript-call-apply-and-bind-methods-cjyuupvil0007j7s18cg7uue9)
- [A Simple Guide to Arrow Functions in JavaScript](https://lo-victoria.com/a-simple-guide-to-arrow-functions-in-javascript-ckd6kqoaz023am8s15m0u4x5k)
- [Introduction To JavaScript Arrow Functions](https://yourwonder.hashnode.dev/arrow-functions-cka896kes01zey6s1ndq1gpdt)
- [Learning JavaScript Higher Order Functions](https://blog.oshogunle.com/learning-javascript-topic-higher-order-functions-ckdvlkqxs0151jas1fl8tdx13)
- [IIFE - Immediately Invoked Function Expressions](https://blog.skay.dev/iife-immediately-invoked-function-expressions-ckduje9xv018bn0s19l7ydqqx)

## Arrays

- [Different ways to create Arrays in JavaScript](https://blog.pankaj.pro/different-ways-to-create-arrays-in-javascript-ck6hmrbdv00054ms1s2s6w6i4)
- [JavaScript Array Methods](https://blog.gyenabubakar.dev/javascript-array-methods-ck8z9mfch01jqmys126svpjmg)
- [How does in-built Array iterator work?](https://blog.bendtherul.es/how-does-in-built-array-iterator-work-ckciw2lr900d0xas144h5fpwm)
- [Array.prototype.reduce() in JavaScript](https://blog.everistus.xyz/arrayprototypereduce-in-javascript-ckchxfj49003oc7s1czih27bj)
- [Sorting arrays in JavaScript](https://blog.everistus.xyz/sorting-arrays-in-javascript-ckceh7doo002u8rs1c4o1azpg)
- [How I work with arrays](https://hashnode.com/post/how-i-work-with-arrays-ckbub745k00dwkbs1bdtiakeb)
- [Javascript Array Methods](https://hashnode.com/post/javascript-array-methods-ckbiq3chr015r0ns11tqglykb)
- [Manipulating Arrays in JavaScript](https://olawanlejoel.hashnode.dev/manipulating-arrays-in-javascript-ckaf19vrl04goc5s1lawvad6t)
- ['filter' vs 'find': JavaScript array methods](https://vicradon.hashnode.dev/filter-vs-find-javascript-array-methods-ck9dw8hit053zcss1xocvxd9f)
- [Three methods to get unique values from arrays in ES6](https://blog.everistus.xyz/three-methods-to-get-unique-values-from-arrays-in-es6-ck8dypcjd01a8xjs13gde9xmc)
- [15 must-know JavaScript array methods in 2020](https://hashnode.com/post/15-must-know-javascript-array-methods-in-2020-ck5cc0zqm01b9qps1dpig0mtv)
- [A Common Sense Explanation of JavaScript Array Methods](https://solathecoder.hashnode.dev/a-common-sense-explanation-of-javascript-array-methods-ck2gq53m200jjwks1hedlpeb5)
- [Build your JavaScript Muscles with map, reduce, filter and other array iterators](https://blog.greenroots.info/build-your-javascript-muscles-with-map-reduce-filter-and-other-array-iterators-cjyo22miw000xzss1ydfqveib)
- [Ways to Empty an Array in JavaScript and the Consequences](https://blog.greenroots.info/ways-to-empty-an-array-in-javascript-and-the-consequences-cjwt45q9d002h2fs1kz5a77a2)
- [Functional JavaScript: Five ways to calculate an average with array reduce](https://hashnode.com/post/functional-javascript-five-ways-to-calculate-an-average-with-array-reduce-cjwb9rlzz004izts1bym4aw81)
- [Manipulating Arrays in JavaScript](https://bolajiayodeji.com/manipulating-arrays-in-javascript-cjvuuty3500354js1sba6z6yr)
- [A Brief Introduction to JavaScript Map, Filter and Reduce Methods](https://blog.nemotivity.xyz/a-brief-introduction-to-javascript-map-filter-and-reduce-methods-ckck648il00df57s122yn0eub)
- [JavaScript: Arrays, Array-Like objects and Array Methods](https://hashnode.com/post/javascript-arrays-array-like-objects-and-array-methods-ckblab6m8012xbss1wr3s3d5o)
- [Fundamental of How Arrays Work and Build your Own in JavaScript (Part-1)](https://hashnode.com/post/fundamental-of-how-arrays-work-and-build-your-own-in-javascript-part-1-cjsr7x09y0043cjs2n566dini)
- [Understanding JavaScript Splice and Slice](https://babysteps.hashnode.dev/understanding-javascript-slice-and-splice-ckd8vl17x00bpqus1cysu10qy)
- [Basics of JavaScript Reduce Method](https://barnabas.hashnode.dev/basics-of-javascript-reduce-method-ckdk81c6402y7zzs1f13p4x7t)
- [Understanding JavaScript ArrayMap and ArrayForEach](https://obizim.hashnode.dev/understanding-javascript-arraymap-and-arrayforeach-ckdvf4ii000wrjas13zam6kmd)

## Objects

- [Different ways to create Objects in JavaScript](https://blog.pankaj.pro/different-ways-to-create-objects-in-javascript-ck66i6wqp03ip89s1uw155rb7)
- [Pick key-value pair from an object in javascript](https://hashnode.com/post/pick-key-value-pair-from-an-object-in-javascript-ck9jvhy08000whds1obh92wzo)
- [Comparing Values of Objects in JavaScript](https://blog.nemotivity.xyz/comparing-values-of-objects-in-javascript-ckclpxq7d000rots1aff47juh)
- [Object Destructuring in JavaScript for Beginners](https://blog.nemotivity.xyz/object-destructuring-in-javascript-for-beginners-ckd901fae00n5qus1ebko8j2r)
- [JS - Primitive Conversion - How objects are turned into primitives](https://deepdive.hashnode.dev/js-primitive-conversion-how-objects-are-turned-into-primitives-ckdejzag8000f2xs1blwx7u92)
- [Have you seen a Frozen Object?](https://blog.greenroots.info/have-you-seen-a-frozen-object-cjuk1rb65002pc8s1fn0hrk1y)
- [JavaScript Object Basic to Advance](https://biplab.hashnode.dev/javascript-object-basic-to-advance-ck47dawe5025nu3s1c6ia06qt)
- [Iterating through JavaScript Objects β€Š- β€Š5 Techniques and Performance Tests](https://bolajiayodeji.com/iterating-through-javascript-objects-5-techniques-and-performance-tests-ck27z4vrq0088d0s1073120ik)
- [The differences between Object.freeze() vs Const in JavaScript](https://bolajiayodeji.com/the-differences-between-objectfreeze-vs-const-in-javascript-cjvvei43q0011e4s131vmolae)
- [JavaScript Object References, in Simplistic Way!](https://blog.greenroots.info/javascript-object-references-in-simplistic-way-cjuz5n642002ec3s176ly595x)
- [An Introduction to JavaScript Getters and Setters πŸ‘“](https://blog.nemotivity.xyz/an-introduction-to-javascript-getters-and-setters-ckcq1o3rv003clus11w4chpk6)
- [A Beginner's Guide to ... in JavaScript](https://lo-victoria.com/a-beginners-guide-to-in-javascript-ckcbxztzb002i1ws17vmefwb3)
- [Optional Chaining in JavaScript: What it is and How to Use it](https://catalins.tech/optional-chaining-in-javascript-what-is-it-and-how-to-use-it-ckdu6ev7c0090n0s1dwu39yzo)

## ES6 & more

- [Three methods to get unique values from arrays in ES6](https://blog.everistus.xyz/three-methods-to-get-unique-values-from-arrays-in-es6-ck8dypcjd01a8xjs13gde9xmc)
- [A Brief Dig Into ES6](https://preetika00.hashnode.dev/a-brief-dig-into-es6-ckdt4w5d800lq9ss1bkeq1pgn)
- [Introduction to ES6 modules](https://bolajiayodeji.com/introduction-to-es6-modules-49956f580da)
- [Metaprogramming: An Introduction to JavaScript(ES6) Proxy](https://blog.greenroots.info/metaprogramming-an-introduction-to-javascriptes6-proxy-cjwkk64ly000gvds10db4l034)
- [Understanding ES6 Classes](https://hashnode.com/post/understanding-es6-classes-cj0dqw75w003mf7537mcwqrxh)
- [ES2016 Features with simple examples](https://carlillo.hashnode.dev/es2016-features-with-simple-examples-ck60pllu501gr89s1dll9hbsj)
- [ES2018 Features with simple examples](https://carlillo.hashnode.dev/es2018-features-with-simple-examples-ck6e6stwz00r13ns1r8q17jyu)
- [Singletons in ES6 – The Good, The Bad, The Ugly](https://wagslane.hashnode.dev/singletons-in-es6-the-good-the-bad-the-ugly-ck9wtp61r01e7nbs1zoxyj3zm)
- [JavaScript Inheritance Prototype Vs Class](https://biplab.hashnode.dev/javascript-inheritance-prototype-vs-class-ck2ezlgil000ewls1sv1luiw7)
- [Introduction to Babel and JavaScript Bundlers](https://bolajiayodeji.com/introduction-to-babel-and-javascript-bundlers-ck28x762700143ns1l1jm84ur)
- [12 ES10 Features in 12 simple examples](https://carlillo.hashnode.dev/12-es10-features-in-12-simple-examples-ck0tp9oaf000r8ys1ph31kf9m)
- [JavaScript: Why Reflect APIs?](https://blog.greenroots.info/javascript-why-reflect-apis-cjx09kad20006sos1pmumyn38)

## Promises

- [JavaScript: Promises](https://blog.gyenabubakar.dev/javascript-promises-ck2arq86l00nt3ns1s5xtia35)
- [Converting callbacks to promises](https://hashnode.com/post/converting-callbacks-to-promises-ck0ztcm1e0031i2s1orjzngfi)
- [Promises, Promise Chain and Async/Await ⏳](https://hashnode.com/post/promises-promise-chain-and-asyncawait-hourglass-with-flowing-sand-cjsmf41pz004nzts12balynb2)
- [JavaScript: async/await](https://blog.gyenabubakar.dev/javascript-asyncawait-ck6g73ol001cz3cs1cwvep0tx)
- [ES6: Promisifying The Native Way (with Strophe as example)](https://melvinkoh.me/es6-promisifying-the-native-way-with-strophe-as-example-cjye5dj7u001uvvs1bf89ilow)
- [5 most important Code Recipes for Asynchronous Code Execution](https://hashnode.com/post/5-most-important-code-recipes-for-asynchronous-code-execution-cjsw5i2ce0007los1haaqla7b)

## Fun Projects
- [Learn concepts of Vanilla JavaScript while building a Privacy Card Game in 5 easy Steps](https://learnwithmegha.hashnode.dev/learn-concepts-of-vanilla-javascript-while-building-a-privacy-card-game-in-5-easy-steps-ckdefco1n0277xvs189bs9cke)
- [Writing parsers with Nearley](https://blog.floffah.dev/how-to-write-a-parser-with-nearley-ckchixsby003kbas15e6yb7q6)
- [Creating a Pixels-To-Rem Converter Using JavaScript](https://redlotusdesignz.hashnode.dev/creating-a-pixels-to-rem-converter-using-javascript-ckdt4y1ch00kxaps1hm76btvv)
- [Building a Palindrome Checker Using Split, Join and Replace Methods](https://babysteps.hashnode.dev/building-a-palindrome-checker-using-split-join-and-replace-methods-ckdstus2u00kivbs1gph1h2ew)
- [Vanilla JavaScript Email Validation](https://daily-dev-tips.hashnode.dev/vanilla-javascript-email-validation-ckdsei8ck00woa6s10pts8mxv)
- [JavaScript Bot with Puppeteer - A Soft Introduction](https://dev.to/ebereplenty/javascript-bot-with-puppeteer-a-soft-introduction-5aei)
- [Image Upload to Cloudinary with Nodejs and Dotenv](https://dev.to/ebereplenty/image-upload-to-cloudinary-with-nodejs-and-dotenv-4fen)

Let's connect on [Twitter](https://twitter.com/Didicodes) and [Hashnode](https://hashnode.com/@didicodes) :rocket:.