We are going to cover here some javascript important and foundational concepts that need to know every javascript developer.

Please hit claps 👏 if you love this post and share it with your friends.

Below is the list we are going to cover in this post :

  1. Callstack
  2. Event Loop
  3. Callback function
  4. Promises
  5. Async & Await
  6. IIFE
  7. Scope
  8. Hoisting
  9. this and apply, call, bind methods
  10. Higher-order functions
  11. Currying
  12. Pure Functions
  13. Debouncing and Throttling
  14. Deep and shallow copying
  15. Event Bubbling
  16. Event Capturing
  17. Function expression and Function declaration
  18. use strict
  19. Identity Operator (===) vs. Equality Operator (==)
  20. Generators
  21. Array methods
  22. Map Set

We all know ECMAScript 6, also known as ECMAScript 2015, is the latest version of the ECMAScript standard. so we will discuss few features of it -

  1. let Keyword
  2. const Keyword
  3. for…of Loop
  4. Template Literals
  5. The default values for function parameters
  6. Arrow functions
  7. Classes
  8. Modules
  9. Rest Parameters
  10. Spread Operator
  11. Destructing Assignments
  12. Multi-Line String

1. let Keyword

ES6 added the new let keyword for declaring variables. Before ES6, we can declare a variable using var keyword.

Variables declared with the var keyword is function-scoped and hoisted at the top within its scope

variables declared with let keyword is block-scoped and they are not hoisted.

Since the Angular release, we are used directive term and their uses in the application. they provided built-in directives but are going to see how to create our own directive?

Basically custom directive is the instruction given to DOM. where we can enhance the capability of HTML DOM.

There are three kinds of directives in Angular :

We all know that javascript is a synchronous programming language but callback functions help to make it an asynchronous programming language.

By the Definition of Javascript, MDN Promises is,

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

Basically, promises are the same as real-life promises which we are making in real life.

Take an example, suppose you make a promise to your friends that are next weekend you will take them to a party.

But actually, you don't know you will get time on the weekend or not, means either…

Javascript - Synchronous callstack

To become a javascript or web developer we must know how javascript works internally. By understanding this you will get to know how to write non-blocking code.

The Javascript Engine

It is an engine that executes your javascript programs or code. the most popular javascript engine is V8.

Jasypt is a Java library which provides us to add basic encryption capabilities to projects with minimum effort and without writing any code !! 😀

let's see how we can do that…

Steps To Add Encryption Using Jasypt :

  1. Add Dependency in your pom.xml
  2. Add annotation in the Spring Boot Application main Configuration class
  3. Select a secret key to be used for encryption and decryption
  4. Generate Encrypted Key
  5. Add the encrypted key in the config file (application.properties)

1. Add Dependency in your pom.xml

In your pom.xml file add maven dependency which is easily available at maven repository. Here I am using 2.1.0 version of it.


To access multiple database in application sprint boot makes easy way to do this. In this article, You will get idea to configure it, here we are going to configure two mysql databases for spring boot application.

Steps: -

1.Add multiple datasource configuration in to your application.properties.
2.Create Configuration class with providers @Bean i.e connection to database.
3. Create Base service to select datasource i.e Generate query.
4. Call Base from DAO to get result from two database

1.Add multiple datasource configuration in to your application.properties

Create two database names as employee and student and add its credintial details in same file.



The last month gets new version release Angular 10.0.0 only 4 months after version 9 of Angular, Lets see whats new features are available to use:


  1. New Date Range Picker
  2. Strict Mode
  3. Default browsers changed
  4. Typescript Updates
  5. Warnings about CommonJS imports

New Date Range Picker

Angular material now includes new date range picker, here you can select start and end date.

Prasad Sonawane

Love Programming and Writing, Software Engineer, Pune

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