15 JavaScript Features You’ve Probably Never Used

15 JavaScript Features You’ve Probably Never Used

1) Exponentiation ** Operator

This operator is used to find the exponent of a number. Like finding the power of a number raised to a certain degree.

In Math, if we 2 raise to the power of 3.

2 * 2 * 2 // Output =>  8        

We can do the same in JS using the ** operator:

2**3 // Output =>  8
9**3 // Output =>  729        

2) Reducing Array contents using the length property

The length property in an array indicates the number of elements in the array.

var myArr = [11, 22, 33];
myArr.length // Output => 3        

Defining length property JS engines reduce or increase the elements to equal the value of the length property.

var myArr = [11, 22, 33];
myArr.length // Output => 3
myArr.length = 2
myArr //  Output => [ 11,22 ]
myArr.length = 4
myArr // [ 11,22, <2 empty items> ]        

The elements in the arr were only two. Then, we increased the length to 4. So, 2 more items were added to make the contents 4 in number.

3) Function constructor

Generally, we can define the function in the following ways,

const sum = (a, b) => a + b
function sum(a, b) {  return a + b }
const sum = function(a, b) {   return a + b }        

We can still do this using the Function:

const sum = new Function("a", "b", "return a + b")        

The params are the arguments and body of the function. The variable sum becomes the function name.

const sum = new Function("a", "b", "return a + b")
  console.log(sum(3, 4))  // Output => 7        

4) Equality Check against null/undefined values

Whenever you need to check some value and set a default value against null or undefined values, ‘??’ operator is used.

var result = undefined ?? “default value”;
console.log(result);  // ‘default value’
var age = 0 ??18;
console.log(age);  // 18        

5) The Iterable approach

Iterables are everywhere in javascript. You have been using them unknowingly.

Anything which has a Symbol.iterator property is iterable.

Let us look at the simplest iterable!

var arr = [21,22,23];
const iterator = arr[Symbol.iterator]();
iterator.next(); // gives {value: 21, done: false}
iterator.next(); // gives {value: 22, done: false}
iterator.next(); // gives {value: 23, done: false}
iterator.next(); // gives {value: undefined, done: true}        

We can use these iterable to a string also. String type in javascript comes baked in with iteration protocol. This means that we can now say strings are iterable.

ALSO READ: MongoDB In Golang With Examples – A Beginner’s Guide

6) Array replacer in JSON.stringify()

A function that alters the behaviour of the stringification process. If this value is null or not provided, all properties of the object are included in the resulting JSON string.

const user = {
‘username’: ‘Developer’,
‘email’: ‘dev@gmail.com’,
‘password’: ‘dev@1234’,
}
const userString = JSON.stringify(user,[‘username’,’email’],2);
// Output =>
"{
   "username": "Developer",
  "email": "dev@gmail.com"
}"        

2 is the space value. That’s used to insert white space into the output JSON string for readability purposes.

7) Method copyWithin

This method is used to copy a part of an array to another location in the same array and returns it without modifying its length.

var arr = [1,2,3,4,5];
arr.copyWithin(0,3,arr.length);  // copyWithin (target, start, end);
// Output =>
arr = [4,5,3,4,5];
/**
  * target = Targeted index to insert the value
 * start = Starting index to copy (including start)
 * end = Ending index to copy (not including end)
 */        

8) The simplest way of findIndex implementation

findIndex used to find an index of an element in the array based on some test case. Here is the basic example of findIndex in the simplest way using ES6 arrow method declaration.

var ages = [3,10,18,30];
var checkAdult = age => age >=18;
ages.findIndex(checkAdult);  // Output => 2        

9) Require Parameters error implementation for the function

To implement error for a parameter in a function call, we can implement as follows.

function requireParam() { 
throw new Error('This parameter is required')
}
function sumNumbers(a=requireParam(), b=requireParam()) { 
return a+b; 
}
sumNumbers(4,5);  // Output => 9
sumNumbers(4,null);  // Output => 4
sumNumbers(4);  // Output => Uncaught Error: This parameter is required
sumNumbers(4,undefined);  // Output => Uncaught Error: This parameter is required        

10) Caching the array length in loop

While implementing a loop for an array, we can generally check the array length in the loop condition. It will check each iteration. To avoid each time check, we can implement as follows.

var myArr = new Array(5);
for(var i = 0; i < myArr.length; i++) { 
// logic implementation
// this will calculate array length in each iteration
}
for(var i = 0, len = myArr.length; i <len; i++) { 
// logic implementation
// this will calculate array length only once
}        

11) Removing Array Duplicate using ES6 Set

To remove duplicate values from the array, we can use the Set method to achieve it in an efficient way.

var myDupArr = [ 5,5,4,1,1,2,3,3,4];
const myArr = Array.from(new Set(myDupArr));
// Output => [5, 4, 1, 2, 3]        

12) Ways to Repeat string values

To repeat values in a string, we can do as follows.

var myStrValue = “Developer”;
Method 1: using repeat method
myStrValue.repeat(3);
// Output => “DeveloperDeveloperDeveloper”
Method 2: using Array.fill
Array(3).fill(myStrValue).join(‘’);
// Output =>  “DeveloperDeveloperDeveloper”        

As we know we can use Array.fill to fill the default string in an Array variable.

var myArr = Array(3).fill("Dev"); // Output =>  ["Dev", "Dev", "Dev"]        

ALSO READ: How To Develop A Healthcare Mobile Application For Hospitals

13) Get Date and Time in Milliseconds

Generally, to compare date and time between two date objects, it’s a good approach that comparing milliseconds. To get milliseconds of date from date object in javascript, do as follows.

new Date().getTime();  // Output => 1583661714678
Date.now(); // Output => 1583661714678
+new Date();  // Output => 1583661714678        

14) Different ways to implement setTimeout()

Following are the ways to pass a parameter to a setTimeout() callback.

function mul(a,b) { 
       console.log(a*b) 
}
setTimeout(mul,2000,3,2);     // Output => 6
setTimeout(function() { mul(3,2); },2000);   // Output => 6
setTimeout(mul.bind(null,3,2),2000);    // Output => 6        

15) Find the Intersection between Two Arrays using Set

To get an array of common elements that present between two arrays using Set as follows.

function intersection(a, b) {
 const s = new Set(b);
  return a.filter(x => s.has(x));
};
intersection([5, 6, 7], [4, 3, 5]);   // Output =>  [5]
intersection([1,2,3], [2,1]);   // Output => [1,2]        

To view or add a comment, sign in

More articles by Md Ala Uddin

  • Express Js Request Types

    Request The req object represents the HTTP request and has properties for the request query string, parameters, body…

  • How to debug TypeScript in Chrome

    A software bug is a programming error or unexpected behavior of a software program. Debugging refers to the process of…

Insights from the community

Others also viewed

Explore topics