Rest vs spread в javascript

В javascript есть много ошибочных понятий, таких как spread и rest, они выглядят одинаково или идентично, но их поведение отличается. Сегодня в этой статье мы узнаем, в чем основное различие между rest и spread.

Spread & Rest syntex...array

let array1 = [1,2]
let array2 = [3,4]
// we want to concat two array
// we can concat two way like

let array3 = [...array1, ...array2]
// another way 
let array3 = array1.concat(array2)

Вход в полноэкранный режим Выход из полноэкранного режима

Первый пример — конкат через
Вы можете использовать оператор spread, например, у вас есть 10 массивов, которые вы можете объединить через spread.

Второй пример — встроенный javascript.

Вы можете использовать его для массива строк.

let strArray = [..."developer life is tough"]
// output like devide all letter and space like array just try your self
Вход в полноэкранный режим Выход из полноэкранного режима

Самая важная вещь в массиве, вы можете скопировать массив, это называется неглубокое копирование.

Только имейте в виду, что при этом клонируется только первый уровень. Это работает с примитивными типами, такими как число и строка, но не с объектами.

let arrToClone = [1,2,3,4,5,6,7,8]
let shallowCopy = [...arrToClone]
Вход в полноэкранный режим Выйти из полноэкранного режима

Давайте разберемся с использованием разворачивания в объекте.

let obj1 ={
  age: 23,
  profession : 'developer'
}

let obj2 ={
  language: 'javascrip',
  girlfriend : false
}

let obj3 = {...obj1, ... obj2}
console.log(obj3)
// It will marge two object 

// we can shallow copy with object but conditions is obly first lavel like array 

let shallowCopyObj = {...obj1}
Вход в полноэкранный режим Выход из полноэкранного режима

И последнее — функция.

В javascript функцию можно использовать двумя способами.

Отдых

//this it rest
function exp(x,y,...other){
  return other;
}
// rest operator
exp(1,2,3,4,5,6,7,8,9)
// return [3,4,5,6,7,8,9]
Войти в полноэкранный режим Выйти из полноэкранного режима

Развернуть

function exp2(a,b,c){
  return a+b+c
}
let number = [1,2,3]

// spread operator
exp2(...number) 

Войти в полноэкранный режим Выход из полноэкранного режима

Наконец, мы рассмотрим основные различные операции между режимами покоя и разворота.

Резюме

  • когда вы используете (…) на параметре функции, это называется Rest

  • когда вы используете (…) на аргументе функции называется Spread

  • Оператор Spread помогает объединить объект и массив, но условно.😄

Оцените статью
devanswers.ru
Добавить комментарий