열거 자 메서드가있는 대부분의 라이브러리 (심지어 기본 JavaScript라고 생각합니다)는 이터레이터에 context
을 전달할 수 있습니다.JavaScript 열거 형 메서드는 일반적으로 컨텍스트를 허용하는 이유는 무엇입니까?
function reduce(iterator, memo, context){
this.each(function(item, idx, list){
memo = iterator.call(context, memo, item, idx, list)
});
return memo;
}
bind
은 쉽게 동일한 기능을 제공 할 수 있습니까?
stooges.reduce(function(memo, stooge){
...
}, context) // as argument vs...
stooges.reduce(function(memo, stooge){
...
}.bind(context))
는
bind
이후 당분간 존재하는이 일이 모든 플랫폼에서 쉽게 사용할 수없는가요? 또는 단순히
bind
ing보다
call
에 대한 오버 헤드가 적기 때문입니까? 나는 항상 함수가 더 나은 인수가 적을수록 읽는다. 0 인수를 취하는 함수는 1보다 낫다 1은 2를 취하는 것보다 낫다.
을, 그러나 이것은 종류 주관적인 질문. 일부 도서관 저자에게 물어 보는 것이 더 나을 것입니다. –
그럴 때,이 문맥 전달이 바뀔 것이라고 추론합니까? – Mario
작성자가 변경하면 곧 변경됩니다. –