Originally published on lenafaure.com

Edit: the beta version of my side project timeshake.io — an online calendar builder — is live ! Feel free to create an account, test the app and give feedback :)

As a developer, the moments when I learn the most are those when I am building things. This is true for the stuff I build on the job, but even more when I work on something I choose to work on, a side project that really excites me and that I do on my own time.

Coding a feature or a full product is usually a process of tackling…

Photo by Michał Grosicki on Unsplash

As a web developer, I often get to start projects from scratch and make decisions for a bunch of elements, from the technical stack to the final look & feel of the app.

Especially when the stakes behind a project are high, this process can be overwhelming.

I want to share our experience of one month into the City of Paris Startups Program, and the steps our team took to achieve a first operating version of the app.

Some context first: AlloAnim is a web app designed to help the City of Paris find available after-school staff instantly.

My Intensive Program to Level Up and Become an better Front-End Engineer

Photo by Arnold Exconde on Unsplash

I have been coding professionally as a full-stack developer for more than 3 years now and I particularly enjoy working on the front end. I am a bootcamp grad and self-taught developer, and while I learn a lot on the job on a daily basis, I have always had this urge to take the time to fully grasp the deep fundamentals of JavaScript and programming, and to become a stronger developer.

Since I made an intensive plan for myself to level up and ace technical coding interviews, I decided to share it with you. …

Know once and for all how to index, add and delete elements in arrays

Steinar Engeland — https://unsplash.com

The Array in JavaScript is a global object which contains a list of items.

It is similar to any variable, in that you can use it to hold any type of data. However, it has one important difference: it can hold more than one item of data at a time.

An array is an ordered collection of values: each value is called an element, and each element has a numeric position in the array, known as its index.

An element inside an array can be of any type, and different elements of the same array can be of different types

JavaScript has a built-in Date object that represents time. How can you use it and when will it be useful ?

Han Chau — unsplash.com

Suppose you are building an application that displays all the timetables of buses and trains in your area. The user can select a journey, and you want to be able to tell him how long his trip will take. To do so, you will have to take the arrival time and subtract it from the departure time.

Simply using the written expression of hours won’t be effective : how will you manage to calculate the journey of a night train leaving at 8pm and arriving at 7:58am the next morning? …

And learn why it’s crucial to know the difference


JavaScript is an Object-Oriented language: this means that most things in JavaScript are Objects. For example, functions are Objects. The only elements that are not objects are the Primitive Data Types : string, number, boolean, null and undefined. These Primitive Data Types also are immutable, which means that once created they cannot be modified.

One of the differences between the two is that Primitive Data Types are passed By Value and Objects are passed By Reference.

Primitive Data Types are passed By Value and Objects are passed By Reference.

What does this mean ? …

Using closures will be a piece of (chocolate) cake

From the words of Kyle Simpson,

“Closure is all around you in JavaScript, you just have to recognize and embrace it.”

When you write in JavaScript, closures just happen… wether you are aware of it or not. Understanding closures to intentionally create them and leverage their power is a challenge that every JavaScript developer has to tackle; let’s give it a try with this article.

Here’s a somewhat academic definition that will help you understand and spot a closure when you see one : closure is when a function is able to remember and access the variables of the outer…

The "this" keyword in JavaScript can be confusing. Let’s demystify it !

In JavaScript, the this keyword has the same use as when we use it in a plain sentence : it refers to something that we already introduced earlier.

If I say : “I met Gary Vaynerchuck yesterday at a web convention. This guy is amazing.”, you immediately understand that “this guy” refers to Gary Vaynerchuck.

In a similar way, when used in JavaScript, this refers to an object, and more specifically to the object that invokes the code.

Consider this example:

Try it yourself

We created a customer object with properties and a greetCustomer method. …

Because in JavaScript, the Scope is all around you

In JavaScript, the scope determines where your program can see and use certain variables.

In other words, referring to the scope of a variable equals to answering the question : “where can we access this particular variable ?”.

Global and Local Scope

The scope can be twofold : global or local.

Global : variables defined outside a function are global and accessible from anywhere in your code.

Local : variables defined inside of a function are considered local to that function only. It can’t be accessed or used by any of your code outside that function.


Think of the global scope as the outer…

A beginner-friendly overview of the hoisting concept

Hoisting in JavaScript means that variable and function declarations are moved to the top of their containing scope.

What does that translate to in my code?


The Declaration Comes Before the Assignment

Let’s consider the following snippet of code to understand how hoisting works :

Maybe you expected the console.log to print undefined, since the var statement (the declaration ) comes after rockStar = “Mick Jagger”(the assignment ). We assigned a value to the rockStar variable before it was created in the code.

After all it is logical to think that all the lines of code written in a JavaScript program are read, interpreted, and…

Léna Faure

Full-Stack Developer with a crush for Front-End, Product Design and Marketing. Find me at lenafaure.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store