예 : 우리의 JavaScript 코드는대체 모델이 클로저에서 작동합니까? 아니면 환경 모델이 필요합니까?
let a = x => {
let y = x * 2
return z => x + y + z
}
let b = a(1)
let c = b(2)
대체 모델을 사용하여 이것을 평가할 수 있습니까?
let c = ((x => {
let y = x * 2
return z => x + y + z
})(1))(2)
을하지만 (2
호출) 외부 표현식을 평가하기 전에 다음 나는 (1
호출) 내부 표현식을 평가해야합니다 :
대체 모델이 부적절하다는 표시입니까? 또는 내부에서뿐만 아니라 외부에서 평가하는 것이 더 정열적입니까? 아니면 그것을 볼 수있는 다른 방법이 있습니까?
코드가 바운드 범위 변수를 변경하지 않는 경우 환경 모델이 필요하지 않습니다. – Bergi
순수한 함수에서 평가 순서는 중요하지 않습니다. 그러나 외부에서도 응용 프로그램 작업의 왼쪽면을 적용하기 전에 함수로 평가해야합니다. – Bergi