이 글은 JavaScript의 화살표 함수와 나머지 매개변수에 대한 관련 지식을 제공합니다. 화살표 함수와 나머지 매개변수를 사용하는 방법을 간략하게 살펴보겠습니다.
화살표 함수 표현식 구문은 함수를 단순화한 형태인 함수 표현식보다 더 간결합니다.
작성 방법:
() => {}; // 可以用来写一个匿名函数
구조:
const / let 函数名 参数 => 函数体
예를 들어 화살표 함수를 사용하여 작성할 수 있는 일반 함수 표현식
let add = function(x, y) { return x + y;};
이 있습니다:
let add = (x, y) => { return x + y;};
// 对于单个参数,我们可以省略外面的圆括号let addOne = x => { return x + 1;}
// 对于单行返回函数体,可以同时省略 {} 和 returnlet add (x, y) => x + y;
// 对于返回单行对象,在外面加个 ()let add (x, y) => ({ value: x + y;});
화살표 함수에는 이것이 없으며, 이에 따라 외부 레이어에서 이를 찾습니다. 범위 체인에.
예:
var A = 1;let fun = { A: 2, printA: () => { console.log(this.A); }, printAA: function() { let print = () => { console.log(this.A); } print(); }};fun.printA(); // 1fun.printAA(); // 2
this.A
를 출력하는 printA
를 호출합니다. 화살표 함수에는 this
가 없으므로 이를 찾습니다. 외부 레이어에서는 외부 레이어가 재밌습니다
. 여기서 fun.printA()
는 전역 범위에서 호출되므로 A = 1이 정의되기 전에 외부 this
는 window
를 가리킵니다. var
를 사용하면 출력은 1입니다. printA
,里面是输出 this.A
,由于箭头函数没有 this
,所以在外层寻找,外层是 fun
。在这里,fun.printA()
是在全局作用域中调用的,所以外层的 this
指向的是 window
,由于之前用 var
定义了一个 A = 1,所以输出的是 1。
调用 printAA
,在里面调用了 print()
,输出 this.A
,看 print
这个函数,是个箭头函数,他没有 this
,所以找外层,它的外层是 printAA
,它是由 fun
调用的,所以它的 this
指向 fun
,所以输出 fun
中定义的 A,也就是 2。
实例化构造函数之后,它的 this 指向实例化的对像,而箭头函数没有 this,所以它不能用来做构造函数。
需要 this 指向调用对象的时候
需要使用 arguments 的时候
箭头函数中没有 arguments,可以使用剩余参数来存参数。
举个例子:
let add = (x, y, z, ...args) => { console.log(x, y, z, args);};
args
就是剩余参数。
剩余参数是个数组,它即使没有值,也是以一个空数组形式存在。
比如:
let add = (x, y, z, ...args) => { console.log(x, y, z, args);}add(1, 2, 3);
x, y, z 对应参数 1, 2, 3,由于剩余参数没有值,所以空数组形式存在。
由于箭头函数没有 arguments
,所以我们可以使用剩余参数替代 arguments
printAA
를 호출하고 내부에서 print()
를 호출하고 this.A
를 출력합니다. 이 함수는 print
를 참조하세요. 은 화살표 함수입니다. this
가 없으므로 외부 레이어를 찾으세요. 외부 레이어는 fun
에 의해 호출되는 printAA
입니다. >이므로 this
는 fun
을 가리키므로 fun
에 정의된 A가 출력인 2입니다.
4. 화살표 함수를 적용할 수 없는 시나리오
화살표 함수에는 인수가 없으므로 다음을 사용할 수 있습니다. 나머지 매개변수는 매개변수를 저장합니다.
5. 잔차 매개변수🎜🎜5.1) 잔차 매개변수란 무엇인가요? 🎜🎜예: 🎜const print = (...args) => { console.log(args);};print(1, 2);🎜
args
는 나머지 매개변수입니다. 🎜 남은 매개변수는 값이 없더라도 빈 배열의 형태로 존재합니다. 🎜 예: 🎜let add = (...args) => {};🎜🎜 x , y, z는 매개변수 1, 2, 3에 해당합니다. 나머지 매개변수는 값이 없으므로 빈 배열 형태로 존재합니다. 🎜🎜5.2) 함수🎜🎜화살표 함수에는
인수
가 없으므로 인수
대신 나머지 매개변수를 사용하여 실제 매개변수를 가져올 수 있습니다🎜 예: 🎜rrreee🎜 🎜🎜🎜5.3 ) 주의사항🎜🎜🎜화살표 함수에서는 매개변수가 하나만 남아 있어도 괄호는 생략할 수 없습니다🎜🎜rrreee🎜🎜나머지 매개변수는 마지막 매개변수만 가능하고 그 이후에는 다른 매개변수가 올 수 없습니다. 그렇지 않으면 오류가 보고됩니다🎜🎜🎜【 관련 권장사항: 🎜자바스크립트 학습 튜토리얼🎜🎜】🎜🎜위 내용은 JavaScript 화살표 함수 및 나머지 매개변수에 대해 알아야 할 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!