javascript 에서 화살표 함수 의 역할
JS 의 익명 함 수 를 '간소화' 했다 고 할 수 있다.
그러나 이것 은 익명 함수 와 같 지 않다. 코드 를 간소화 하기 위해 이런 표기 법 이 생 긴 것 이 아니 라 다른 꿍꿍이 가 있다 고 할 수 있다
원래 익명 함수 문법:
function (x) {
return x * 2;
}
같은 화살표 함수 문법:
(x,y) => return x * y;
//or
(x,y) => {
var c = 20;
var res = x * y + c;
return res;
};
화살표 함수 적용 중:
화살표 함 수 는 익명 함수 의 약자 로 보이 지만 실제 화살표 함수 와 익명 함 수 는 현저 한 차이 가 있 습 니 다. 화살표 함수 내부 의
this
는 품사 작용 영역 으로 문맥 에 의 해 확 정 됩 니 다.JavaScript 함수 가
this
바 인 딩 에 대한 오류 처리 로 인해 다음 예 는 예상 한 결 과 를 얻 을 수 없습니다.var obj = {
birth: 1990,
getAge: function () {
var b = this.birth; // 1990
var fn = function () {
return new Date().getFullYear() - this.birth; // this window undefined
};
return fn();
}
};
현재 화살표 함수 가
this
의 방향 을 완전히 복원 하 였 습 니 다. this
항상 품사 작용 역, 즉 외부 호출 자 obj
를 가리 키 고 있 습 니 다.var obj = {
birth: 1990,
getAge: function () {
var b = this.birth; // 1990
var fn = () => new Date().getFullYear() - this.birth; // this obj
return fn();
}
};
obj.getAge(); // 25
화살표 함 수 를 사용 하면 이전 hack 쓰기:
var that = this;
필요 없어..
this
화살표 함수 에서 어법 작용 역 에 따라 연결 되 었 기 때문에 call()
또는 apply()
화살표 함 수 를 호출 할 때 this
를 연결 할 수 없습니다. 즉, 들 어 오 는 첫 번 째 매개 변 수 는 무시 되 었 습 니 다.var obj = {
birth: 1990,
getAge: function (year) {
var b = this.birth; // 1990
var fn = (y) => y - this.birth; // this.birth 1990
return fn.call({birth:2000}, year);
}
};
obj.getAge(2015); // 25
레 설 봉 공식 홈 페이지
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작은 프로그램의 화살표 함수의 구체적인 사용이것은 ES6의 화살표 함수입니다.res=>function(res)으로 이해할 수 있습니다 화살표 함수의 가장 큰 장점은 var that=this를 생략하여this를 정태로 바꾸는 것이다. var 함수 이름 = 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.