const nums = [5,6,7]; const newNums = [1,2, nums[0],nums[1],nums[2]]; console.log(newNums); // [ 1, 2, 5, 6, 7 ] is reduced to const nums = [5,6,7]; const newNums = [1,2, ...nums]; console.log(newNums); // [ 1, 2, 5, 6, 7 ] console.log(...newNums); // 1 2 5 6 7
const arr1 = [1,2,3,4,5]; const arr2 = [6,7,8,9]; let nums = [...arr1,...arr2]; nums; // [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ] const firstname = "Peter"; const fullName = [...firstname,' ',"P."]; fullName; // [ 'P', 'e', 't', 'e', 'r', ' ', 'P.' ] console.log(...firstname); // 'P' 'e' 't' 'e' 'r'
const girl = { name: 'Melania', friends: ['Alina', 'Alice', 'Ayesha', 'Anamika', 'Anaya'] }; const frnz = [...girl.friends]; console.log(frnz); // [ 'Alina', 'Alice', 'Ayesha', 'Anamika', 'Anaya' ] console.log(girl.friends); // [ 'Alina', 'Alice', 'Ayesha', 'Anamika', 'Anaya' ]
let male = { "firstName": "Gangadhar", "lastName": "Shaktimaan" } let female = { "firstName": "Geeta", "lastName": "Vishwas" } let x = {...male, born: 1950}; let y = {...female, born: 1940}; x; // { firstName: 'Gangadhar', lastName: 'Shaktimaan', born: 1950 } y; // { firstName: 'Geeta', lastName: 'Vishwas', born: 1940 }``` ## Shallow Copy of objects: let male = { "firstName": "Gangadhar", "lastName": "Shaktimaan" } let character = {...male, firstName: 'Wonderwoman'}; male; // { firstName: 'Gangadhar', lastName: 'Shaktimaan' } character; // { firstName: 'Wonderwoman', lastName: 'Shaktimaan' } - First name for character object is changed although it was extracted from male object
확산 연산자와 나머지 연산자의 구문 차이:
스프레드 연산자 => ... 할당 연산자의 RHS에 사용됩니다.
const 숫자 = [9,4, ...[2,7,1]];
나머지 연산자 => ... 구조 분해를 통해 할당 연산자의 LHS에 있게 됩니다
const [x,y,...z] = [9,4, 2,7,1];
## Rest syntax collects all the elements after the last elements into an array. Doesn't include any skipped elements. - Hence, it should be the last element in the destructuring assignment. - There can be only one rest in any destructuring assignment.
다이어트하자 = ['피자', '버거', '국수', '구이', '초밥', '도사', '우타팜'];
let [첫 번째, ,세 번째, ...기타] = 다이어트;
먼저;
세 번째;
기타;
- Rest also works with objects. Only difference is that elements will be collected into a new object instead of an arrray.
let days = { '월':1, '화':2, '수':3, '목':4, '금':5, '토':6, '일':7};
{토요일, 일요일, ...작업} = 일수;
let off = {토, 일};
일 중; // { 월:1, 화:2, 수:3, 목:4, 금:5 }
끄다; // { 토: 6, 일: 7 }
- Although both look same, but they work differently based on where they are used.
Rest & Spread의 미묘한 차이:
위 내용은 스프레드 및 나머지 연산자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!