Open In App

ES6 Spread Operator

Last Updated : 14 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Spread Operator is a very simple and powerful feature introduced in the ES6 standard of JavaScript, which helps us to write nicer and shorter code. The JavaScript spread operator is denoted by three dots (…). The spread operator helps the iterable objects to expand into individual elements. Iterable objects are those on which we can use a loop, for example, Array, Map, Set, etc. In other words, the spread operator allows us to copy all elements from the existing array or object into another array or object.

Let us now visit the following section which will help us to understand the need for the Spread Operator in ES6:

Why there is a need for a spread operator?

An object creates a memory in a heap because the value is defined in a heap so if we copy the original object into the temporary object and do some changes then it will also reflect in the original object the same reason for the array as Array is also behaving as the object.

But the spread operator does not make changes in the original array it also does operations in the spread operator.

Syntax:

var variablename1 = [...value];

Let’s understand the usage of the spread operator through the following illustrated examples:

Example 1: Here we have copied the array (from cars1 to cars2 and cars1 to cars3 ) by using the spread operator.

Javascript




const cars1 = ["AUDI", "BMW", "TATA", "MERCEDES"];
// Copied elements from cars1 to cars2 here
const cars2 = [...cars1];
 
// Copied elements from cars1 to cars3 here
// and also add some new elements in cars3
const cars3 = [...cars1, "NISSAN", "TOYOTA"];
 
console.log(cars1);
console.log(cars2);
console.log(cars3);


Output:

[ 'AUDI', 'BMW', 'TATA', 'MERCEDES' ]
[ 'AUDI', 'BMW', 'TATA', 'MERCEDES' ]
[ 'AUDI', 'BMW', 'TATA', 'MERCEDES', 'NISSAN', 'TOYOTA' ]

Example 2: In this example, we will use the spread operator for merging arrays.

Javascript




const cars1 = ["AUDI", "BMW", "TATA", "MERCEDES"];
const cars2 = ["NISSAN", "TOYOTA"];
// copied elements from cars1 and cars2 to cars3 here
const cars3 = [...cars1, ...cars2];
 
console.log(cars3);


Output:

[ 'AUDI', 'BMW', 'TATA', 'MERCEDES', 'NISSAN', 'TOYOTA' ]

Example 3: In this example, we will use the spread operator with objects.

Javascript




// cars1 object
const cars1 = {
    Brand: "BMW",
    Color: "RED"
}
// copy cars1 object using spread
// operator to create cars2 object
const cars2 = { ...cars1 };
console.log(cars2);


Output: 

{ Brand: 'BMW', Color: 'RED' }

Example 4:  In this example, we will use the spread operator for merging objects.

Javascript




// cars1 is a object which is containing
// the attributes Brand & Color
const cars1 = {
    Brand: "Toyota",
    Color: "RED"
}
// cars2 is a object which is containing
// the attributes Brand, Color & Year
const cars2 = {
    Brand: "Nissan",
    Color: "BLUE",
    Year: 2004
}
const cars3 = { ...cars1, ...cars2 };
console.log(cars3);


Output:

{ Brand: 'Nissan', Color: 'BLUE', Year: 2004 }

Example 5: In this example, We will use the spread operator to split the string into an array of strings.

Javascript




const car = "AUDI";
const a = [...car];
console.log(a);


Output: 

[ 'A', 'U', 'D', 'I' ]

Example 6: Here we will use the spread operator with Array Destructuring.

Javascript




const numbers = [3, 5, 7, 8, 9];
// Here we assign a,b and c with 3,5 and 7,
// the rest of the elements will all go to others
const [a, b, c, ...others] = numbers;
console.log(a);
console.log(b);
console.log(c);
console.log(others);


Output: 

3
5
7
[ 8, 9 ]


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads