Using and Abusing UnderscoreJs
UnderscoreJs is a utility-belt library for Javascript providing a set of functions well known from the world of functional programming. These utility functions allow software development in a stateless...
View ArticleUnderscore Templating
Most software are developed by applying the principles of object oriented programming or functional programming. We will practice the latter approach by solving a problem related to presentation and...
View ArticleFunctional Programming with ECMAScript6
The ES6 standard is expected this June. This means significant changes in writing Javascript code in general. Among other features, ECMAScript6 is equipped with a strong utility belt supporting...
View ArticleCloning Objects in JavaScript
JavaScript made its way from being a toy language for simple animations to becoming a language for client side and server side web application development. Some generic concepts also made their way to...
View ArticleFunctional and Object Oriented Programming with Higher Order Functions
A higher order function is a function whose argument list or return value includes a function. Knowledge about higher order functions is essential when writing programs both in functional and in object...
View ArticleAre JavaScript Comments Useless?
Should I write comments in my code? Should I avoid them at all costs? Should I use them sparingly? When developing software, all developers have their view on how and when to use comments. This article...
View ArticleIntroduction to Immutable.js
Most developers emphasize immutability when dealing with functional programming. Code written in functional style is testable, because the functions operate on data treated as immutable. In practice...
View ArticleES6 Iterators and Generators – 6 exercises and solutions
This article is a section from the workbook of ES6 in Practice. I created this course during the last couple of months, because there is an evident need for a resource that helps JavaScript developers...
View ArticleBuilding a chat component in React and ES6
This is the third part of the React-Redux series. In the first part, we introduced React and Redux. Although there was no code in the article, clarifying the concepts is still important. In the second...
View ArticleVideo Tutorial – ES6 Arrow Functions with 3 Exercises
In this article, I will introduce my new Youtube channel with two videos. Both videos are from ES6 in Practice. By watching these short videos, you can learn about Arrow Functions, and you can also put...
View ArticleCreating Controlled Components in React
In this short article, you will get a chance to learn what controlled components are and why they are beneficial. Suppose a component has an input field with a value depending on the state of the...
View ArticleContainer Components and Stateless Functional Components in React
In the article Building a Chat Component in React and ES6, we learned a way to create React components: import React from 'react'; class SimpleComponent extends React.Component { render() { return (...
View ArticleTen JavaScript Theory Questions – The ES6 Quiz
There are countless questions your interviewers may ask when it comes to how JavaScript works. The idea behind asking these questions is to assess whether you have recent experience in writing...
View ArticleJavaScript Tech Interview Exercise 5: Connect-4 Solver in ES6
This interview question is also available as a video on my Youtube channel. You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty...
View ArticleBinary Trees, Recursion, Tail Call Optimization in JavaScript
You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have...
View ArticleJavaScript Tech Interview Exercise 9: Event Delegation in a Pomodoro App
You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have...
View ArticleHow Replacing JavaScript Templating Engines with ES6 Template Literals May...
The article ES6 Strings and Template Literals introduced you to the syntax of ES6 strings and template literals. However, if you wanted to use ES6 template literals for microtemplating, the article...
View ArticleTranslating SQL Queries using Map-Reduce-Filter in JavaScript
Exercise: Suppose the following tables are given in the form of arrays of objects: var inventory = [ { id: 1, owner: 1, name: 'Sword', weight: 10, value: 100 }, { id: 2, owner: 1, name: 'Shield',...
View ArticleA Practical Introduction to ES2017 Async-Await
The ability to write asynchronous functions is a major update in ES2017. In order to understand this chapter, I suggest that you review the chapter on promises. What are asynchronous functions?...
View ArticleHigher Order Functions in JavaScript
In this article, you will learn about higher order functions. An important cornerstone of functional programming is higher order functions. If you want to write programs in mostly functional style, it...
View Article