JavaScript의 Spread 연산자
스프레드 연산자는 무엇을 합니까?
iterable 객체를 인수 목록으로 확장합니다. (배열, 객체, 문자열)
...arr이 함수 호출에 사용되면 반복 가능한 객체 arr을 인수 목록으로 '확장'합니다.
const arr = [34, 22, 13, 3]
console.log(...arr)
// 34 22 13 3
console.log(arr)
// [ 34, 22, 13, 3 ]
스프레드 연산자는 언제 사용합니까?
배열 객체의 복사본 만들기.
const arr = [34,22,13,3]
const newArr = [...arr]
console.log(newArr)
// [ 34, 22, 13, 3 ]
// Proff that ther are not same
console.log(arr === newArr)
// false
배열 연결 및 개체 결합
// combining arrays
const nums = [2,5,84,3]
const newNums = [...nums, 2,865]
// Here adding 2 again does no overwrite the previous occurrence
console.log(newNums)
// [ 2, 5, 84, 3, 2, 865 ]
// combining objects
const user = {
name = "Rahul"
age = "16"
gender = "male"
}
const Alex= {
...user,
isAthelete: true,
name: "Alex"
}
// Providing the name key again overwrites the previous value of the name
console.log(Alex)
// {
// name: "Alex"
// age: "16"
// gender: "male"
// isAthelete: true,
// }
숫자 배열에서 가장 높은 숫자 찾기.
Math.max() 함수에 배열을 전달하면 작동하지 않지만 확산 연산자를 사용하면 배열이 배열의 개별 요소로 확산됩니다.
const arr = [1,2,3,4]
console.log(Math.max(arr))
// NaN
console.log(Math.max(...arr))
// 4
나머지 매개변수 대 스프레드 연산자
둘 다 같은 구문을 가지고 있지만 "...".
둘은 서로 정반대입니다.
나머지 매개변수는 항목 목록을 배열로 캐스팅하고 스프레드 연산자는 반복 가능한 개체를 개별 요소로 확장합니다.
읽어 주셔서 감사합니다. 당신의 마음에 무슨 일이 일어나고 있습니까? 아래에 댓글을 남겨주세요!
Reference
이 문제에 관하여(JavaScript의 Spread 연산자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rahxuls/the-spread-operator-in-javascript-11ng텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)