0
클로저 된 함수는 개체의 값을 보호하지 않지만 알몸 함수는 유지합니까? I have the below code on jsFiddle.클로저 된 함수가 개체의 값을 보호하지 않지만 알몸 함수는 유지되는 이유는 무엇입니까?
나는 Object
기본값 인 Lo-Dash _.assign
기능을 사용하고 있습니다. 그래서 같은 결과
var cnst = _.constant({test: 'It Works!'})
var newCnst = _.assign(cnst(), {test: "It doesn't work!"})
console.log(cnst())
console.log(newCnst)
:
{test: "It doesn't work!"}
{test: "It doesn't work!"}
그래서 난 그냥 알몸 일정 기능과 같이 수행
{test: 'It Works!'}
{test: "It doesn't work!"}
: 결과
var test = function(){return {test: 'It Works!'}}
var newTest = _.assign(test(), {test: "It doesn't work!"})
console.log(test())
console.log(newTest)
그냥 그렇게해야합니다. 닫힌 상수 값이 보호되지 않는 이유는 무엇입니까? 내가 나 자신을 할 경우에도 : 결과
var constant = function(value){return function(){return value}}
var t = constant({test: 'Closured Works!'})
var t2 = _.assign(t(), {test: "No closured doesn't work!"})
console.log(t())
console.log(t2)
:
{test: "No closured doesn't work!"}
{test: "No closured doesn't work!"}