JS의 3가지 개발 해킹 ...배열용 확산 연산자
3129 단어 programmingjavascriptreactwebdev
확산 연산자란?
MDN은 어떻게 정의합니까?
간단히 말해서 배열과 같은 iterable에 적용할 수 있는 점 3개(...) 뿐입니다. 요소를 결합/복사하도록 설정합니다. 개체에 적용하면 키-값 쌍을 업데이트/추가하는 데 도움이 됩니다.
스토리별로 배열에 어떻게 적용되는지 이해해 봅시다.
장면 1: 기능에 대해 작업 중이고 결합할 요소가 다른 2개의 배열이 있습니다. 어떻게 하시겠습니까?
cosnt array1 = ["JS", "REACT", "GIT"]
const array2 = ["Node", "Mongo"]
이것이 당신이 따르고 있는 접근법입니까?
const newArray = array1.concat(array2);
console.log(newArray)
// output -> ["JS", "REACT", "GIT", "Node", "Mongo"]
그렇다면 아래 항목을 사용하여 시작하십시오. 권장되고 이해하기 쉬우며 더 투명합니다.
const mergedArray = [...array1, ...array2];
console.log(mergedArray)
// output -> ["JS", "REACT", "GIT", "Node", "Mongo"]
Just for sake of understanding consider spread as "remove bracket and get all the elements inside them"😜
장면 2: mergedArray가 있고 이제 이를 복제하고 일부 작업을 수행하려고 한다고 가정해 보겠습니다.
// we now have mergedArray= ["JS", "REACT", "GIT", "Node", "Mongo"]
배열을 복제해 봅시다. 매우 쉽습니다. 그냥 과제.
const cloneArray = mergedArray;
clonedArray[0] = "Python";
conosle.log(clonedArray)
// ["Python", "REACT", "GIT", "Node", "Mongo"]😎
console.log(mergedArray)
// ["Python", "REACT", "GIT", "Node", "Mongo"]😲
우! 당신은 그런 일이 일어날 것이라고 기대하지 않았습니다. 배열은 참조 유형이며 변수에 할당되면 실제 값이 아닌 참조를 저장합니다. 따라서 "="할당 연산자를 통해 병합된 배열을 복제하면 값이 아닌 주소가 저장됩니다. 따라서 복제된 배열에서 변경된 내용은 실제 배열을 변경한 것입니다.
그렇다면 어떻게 해야할지, 걱정하지 마시고 오퍼레이터를 구출하세요.✨
const clonedArray = [...mergedArray];
clonedArray[0] = "Python";
conosle.log(clonedArray)
// ["Python", "REACT", "GIT", "Node", "Mongo"]😎
console.log(mergedArray)
// ["JS", "REACT", "GIT", "Node", "Mongo"]😃
여기서 스프레드 연산자는 mergedArray의 주소를 참조하지 않고 대신 새 주소에 배열을 복사하므로 clonedArray에서 변경한 내용이 mergedArray를 변경하지 않습니다.
장면 3: 숫자 배열이 있고 배열에서 최대 및 최소 요소를 가져오는 방법을 가정해 보겠습니다. ...확산을 믿으세요😂
const numberArray = [22, 58, 46, 20, 5]
console.log(Math.max(...numberArray)) // -> 58
console.log(Math.min(...numberArray)) // -> 5
이 게시물을 읽으면서 귀중한 시간을 할애해 주셔서 감사합니다. 오늘 뭔가를 배우셨으리라 확신합니다.😄
Reference
이 문제에 관하여(JS의 3가지 개발 해킹 ...배열용 확산 연산자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/himanshu_007/3-dev-hacks-of-js-spread-operator-for-arrays-2oi3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)