Learn ES6 without leaving Dev.to
Tags: es6, javascript, beginners
Published: 2018-09-07 06:05:37

---
title: Learn ES6 without leaving Dev.to
published: true
description: A complete list of posts that helped me to understand and write ES6 code 
tags: es6, javascript, beginners
cover_image: https://i.ytimg.com/vi/IEf1KAcK6A8/maxresdefault.jpg
---

Hi everyone! Today I'm finishing my ES6 course, so I'm here to share some posts that were useful while I was learning, here you go.

# Var, let, const

"The *var* declares a variable, optionally initializing it to a value."
"The *let* statement declares a block scope local variable, optionally initializing it to a value."
"Constants are block-scoped, much like variables defined using the *let* statement. The value of a constant cannot change through re-assignment, and it can't be redeclared."

• ["var, let and const - What's the difference?" By: **Sarah Chima**](https://dev.to/sarah_chima/var-let-and-const--whats-the-difference-69e)
• ["Javascript variables - var, let and const" By: **Frugence Fidel**](https://dev.to/frugencefidel/javascript-variables---var-let-and-const-32c)
• ["Var vs Let vs Const" By: **Sethu Senthil**](https://dev.to/sethusenthil/var-vs-let-vs-const-1cgc)

---

# Arrow Functions

"An *arrow function* expression has a shorter syntax than a function expression and does not have its own this, arguments, super, or new."

• ["Arrow Functions in ES6" By: **Sarah Chima**](https://dev.to/sarah_chima/arrow-functions-in-es6-24)
• ["Arrow Functions in JavaScript" By: **Tyler McGinnis**](https://dev.to/tylermcginnis/arrow-functions-in-javascript-ec6)

---

# Template Literals
"Template literals are string literals allowing embedded expressions. You can use multi-line strings and string interpolation features with them. "

• ["JavaScript Template Literals" By: **Tiffany White**](https://dev.to/twhite/javascript-template-literals-2o7)

---

# Destructuring

"The destructuring assignment syntax is a JavaScript expression that makes it possible to unpack values from arrays, or properties from objects, into distinct variables."

• ["Object Destructuring in ES6" By: **Sarah Chima**](https://dev.to/sarah_chima/object-destructuring-in-es6-3fm)
• ["Destructuring Assignment in ES6- Arrays" By: **Sarah Chima**](https://dev.to/sarah_chima/destructuring-assignment---arrays-16f)

---

# Iterators, Iterables

"A *iterator* is a pointer that goes through the elements of an *iterable* object."

• ["What the... iterators?" By: **Fabio Russo**](https://dev.to/genta/what-the-iterators-1lhc)
• ["Practical Explanation Of Javascript Iterators(with a demo app)" By: **Abejide Femi Jr**](https://dev.to/bjhaid_93/practical-explanation-of-javascript-iteratorswith-a-demo-app-o95)
• ["How I learned to Stop Looping and Love the Iterator" By:  **Kushan Joshi**](https://dev.to/kepta/how-i-learned-to-stop-looping-and-love-the-iterator-463j)

---

# Promises, async, await

"The *Promise* object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value."

• ["I promise I won't callback anymore" By: **Damien Cosset**](https://dev.to/damcosset/i-promise-i-wont-callback-anymore-cp3)
• ["Asynchronous code with async/await" By: **Damien Cosset**](https://dev.to/damcosset/asynchronous-code-with-asyncawait-7cd)
• ["JavaScript: Promises and Why Async/Await Wins the Battle" By: **Nick Parsons** ](https://dev.to/nickparsons/javascript-promises-and-why-asyncawait-wins-the-battle-1g8a)
• ["All about Promises and async / await" By: **Arden de Raaij**](https://dev.to/ardennl/about-promises-and-async--await-5ebm)

---

# Symbols

"Every symbol value returned from *Symbol()* is unique. A symbol value may be used as an identifier for object properties; this is the data type's only purpose. "

• ["Symbols in ES6 - A Quick Guide" By: **Ben Mildren**](https://dev.to/mildrenben/symbols-in-es6---a-quick-guide-dhm)

---

# Classes

"The *class* expression is one way to define a class in ECMAScript 2015. Similar to function expressions, class expressions can be named or unnamed. If named, the name of the class is local to the class body only."

• ["ES6 classes" By: **Sarah Chima**](https://dev.to/sarah_chima/es6-classes-7m)

---

# Generators

"The *Generator* object is returned By a generator function and it conforms to both the iterable protocol and the iterator protocol."

• ["Introduction to Generators in ES6" By: **Damien Cosset**](https://dev.to/damcosset/introduction-to-generators-in-es6-5h1)
• ["A Quick, Practical Use Case for ES6 Generators" By: **Shawn Reisner**](https://dev.to/sreisner/a-quick-practical-use-case-for-es6-generators-building-an-infinitely-repeating-array-1onk)

---

# Sets, Maps

"The *Set* object lets you store unique values of any type, whether primitive values or object references."
"The *Map* object holds key-value pairs. Any value (both objects and primitive values) may be used as either a key or a value."

• ["Sets in ES6 - A Quick Guide" By: **Ben Mildren**](https://dev.to/mildrenben/sets-in-es6---a-quick-guide-3mmk)
• ["Sets in Javascript ES6" By: **Damien Cosset** ](https://dev.to/damcosset/sets-in-javascript-es6-3fdh)
• ["Maps in ES6 - A Quick Guide" By: **Ben Mildren** ](https://dev.to/mildrenben/maps-in-es6---a-quick-guide-35pk)
• ["Maps in Javascript ES6" By: **Damien Cosset**"](https://dev.to/damcosset/maps-in-javascript-es6-4301)

---

I hope it helps those who are currently learning or want to learn 'modern javascript'. That's all for this post.

OH! And thank you for reading my first entry ♥ 👋