티스토리 뷰

JavaScript

Closure in JavaScript

seoca 2019. 8. 27. 04:40

 

자바스크립트는 함수를 만드는 것으로 선언까지 가능하게한다. 그래서 클로저(Closure) 라는 새로운 개념도 가지고 있다.

Java나 다른 언어에서 였으면 scope를 벗어나서 역할이 종료가 되는 상황에서 JavaScript는 그와는 다르게 하위 function이 상위 funtion의 자원을 사용할 경우 그 scope가 종료가 되지 않는 상황이 발생할 수 있다.

이렇게 하위 function 이 자기 위의 funtion의 자원을 사용하는 것을 closure 라고 한다.

 

 

 

Example Code

<script>
    function favorite(){
    var fruit = "banana";
 
    return function myType(){
        return fruit;
    }
}
 
var fav = favorite();
var fruit = fav();
 
document.write(fruit);
</script>

 

Result

banana

 

 

 

 

 

Reference 

https://www.youtube.com/watch?v=Q0iNAxzgSbI

'JavaScript' 카테고리의 다른 글

Callback function in JavaScript  (0) 2019.08.28
Arrow function in JavaScript  (0) 2019.08.28
'This' in JavaScript  (0) 2019.08.27
Creating Object and document.write in JavaScript  (0) 2019.08.07
String and Number  (0) 2019.08.05