ES6 배열은 확장 문자를 사용할 수 있습니다. 확장기 "..."는 반복 가능한 객체를 개별 요소로 확장하며 소위 반복 가능한 객체는 배열, 문자열, 맵 및 세트와 같이 "for of" 루프를 사용하여 탐색할 수 있는 모든 객체입니다. 확장기를 배열과 함께 사용하면 배열을 쉼표로 구분된 매개변수 시퀀스로 변환합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
확장 연산자 …
는 ES6에서 도입되었으며, 이는 반복 가능한 객체를 별도의 요소로 확장합니다. 소위 반복 가능한 객체는 for of 루프를 사용하여 탐색할 수 있는 모든 것입니다. 배열, 문자열, 맵, 세트, DOM 노드 등과 같은 …
是ES6中引入的,将可迭代对象展开到其单独的元素中,所谓的可迭代对象就是任何能用for of循环进行遍历的对象,例如:数组、字符串、Map 、Set 、DOM节点等。
展开运算符(spread operator)允许一个表达式在某处展开。展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以使用。
es6展开符的使用(数组方面)
给定一个数组,想要将一个数组的成员复制到另一个数组中,该怎么做?
const a = [1, 2]; const b = a; console.log(b); // [1, 2]
真有表面上这么简单吗?试着修改一下a数组中的值
a[0] = 3; console.log(b); // [3, 2]
诶?怎么我修改了a数组中的值,结果b数组中的值也变了?这里涉及到的是堆栈的原理,就不具体展开说了,你只需要知道简单地使用两边相等的方式是不能完成数组的复制的,这里使用展开运算符就可以完成啦?
const a = [1, 2]; const c = [...a]; console.log(c); // [1, 2] a[0] = 3; console.log(c); // [1, 2]
const a = [1, 2]; const b = [3]; const c = [4, 5]; console.log([...a, ...b, ...c]); // [1, 2, 3, 4, 5] console.log([...c, ...a, ...b]); // [4, 5, 1, 2, 3] console.log([99, ...a, 24, ...b, ...c]); // [99, 1, 2, 24, 3, 4, 5]
前置知识:字符串可以按照数组的形式展开?
const name = 'Jae'; console.log(...name); // J a e
字符串转数组除了用 split()
const name = 'Jae'; const name_string = [...name]; console.log(name_string); // ["J", "a", "e"]
function func() { console.log(arguments); } func(1, 2); // Arguments(2) [1, 2, callee: ƒ, Symbol(Symbol.iterator): ƒ] // 使用展开远算符 function func() { console.log([...arguments]); } func(1, 2); // [1, 2]eh 배열의 값을 수정해 보세요. 배열 a의 값을 수정했는데 배열 b의 값도 변경된 이유는 무엇입니까? 여기서 관련되는 것은 스택의 원리이므로 자세히 확장하지는 않겠습니다. 단순히 양쪽에 동일한 방법을 사용하는 것만으로는 배열의 복사를 완료할 수 없다는 점만 알아두시면 됩니다. 여기서 확장 연산자를 사용할 수 있습니까?
<!--HTML代码--> <p>1</p> <p>2</p> <p>3</p>
const a = document.querySelectAll("p"); console.log(a); // NodeList(3) [p, p, p] console.log([...a]); // [p, p, p]
rrreee split( ) 메서드를 사용하여 스프레드 연산자를 사용할 수도 있습니다.
rrreee4. 일반적인 배열과 유사한 객체를 배열로 변환
위 내용은 es6 배열에서 확장 문자를 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!