Sep 9, 2021 JavaScript
How to logical xor operator in JavaScript

In this Article we will go through how to logical xor operator only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

// returns `true` if one of the arguments is truthy and the other is falsy

const xor = (a, b) => (a && !b) || (!a && b);

Sep 9, 2021 JavaScript
How to memoize a function in JavaScript

In this Article we will go through how to memoize a function only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

const memoize = fn => ((cache = {}) => arg => cache[arg] || (cache[arg] = fn(arg)))();

Sep 9, 2021 JavaScript
How to partially apply a function in JavaScript

In this Article we will go through how to partially apply a function only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

const partial = (fn, ...a) => (...b) => fn(...a, ...b);

Sep 9, 2021 JavaScript
How to compose functions in JavaScript

In this Article we will go through how to compose functions only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

// Compose functions from right to left
const compose = (...fns) => x => fns.reduceRight((y, f) => f(y), x);

Sep 9, 2021 JavaScript
How to create a function that accepts a single argument in JavaScript

In this Article we will go through how to create a function that accepts a single argument only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

const unary = fn => arg => fn(arg);

Sep 9, 2021 JavaScript
How to create an empty function in JavaScript

In this Article we will go through how to create an empty function only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

const noop = () => {};

Sep 9, 2021 JavaScript
How to curry a function in JavaScript

In this Article we will go through how to curry a function only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

const curry = (fn, ...args) => fn.length <= args.length ? fn(...args) : curry.bind(null, fn, ...args);

Sep 9, 2021 JavaScript
How to delay the evaluation of a function in JavaScript

In this Article we will go through how to delay the evaluation of a function only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

// returns a new version of `fn` that returns values as lazy evaluable
const thunkfy = fn => (...args) => () => fn(...args);

Sep 9, 2021 JavaScript
How to box handler in JavaScript

In this Article we will go through how to box handler only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

const boxHandler = x => ({ next: f => boxHandler(f(x)), done: f => f(x) });

Sep 9, 2021 JavaScript
How to check if a value is a function in JavaScript

In this Article we will go through how to check if a value is a function only using single line of code in JavaScript. This is a one-line JavaScript code snippet that uses one of the most popular ES6 features => Arrow Function.

Let's define this short function:

const isFunction = v => ['[object Function]', '[object GeneratorFunction]', '[object AsyncFunction]', '[object Promise]'].includes(Object.prototype.toString.call(v));