You can use array destructuring.
const originalArray = [1,2,3,4];
const copyArray = [...originalArray];
///
copyArray.push('hello');
console.log(copyArray); // --> [1,2,3,4,'hello']
console.log(originalArray); // --> [1,2,3,4]
Edit:
Another way is to use concat. If you are on an older browser you should prefer this method:
const originalArray = [1,2,3,4];
const copyArray = [].concat(originalArray);
///
copyArray.push('hello');
console.log(copyArray); // --> [1,2,3,4,'hello']
console.log(originalArray); // --> [1,2,3,4]
Edit 2: Since above methods only make a new array instance with virtually same elements. It does not create a true copy. If array has objects, then destructuring or concat methods will copy the references only. There are two ways you can create a true copy.
Use a recursive solution to create separate instances of children as well. Often you will find such a solution in libraries like lodash or jQuery.
Use JSON.parse(JSON.stringify(arr)) hack. Note that this is just a hack and does not always work (esp. if your array or object has circular references).