전체 글 (35) 썸네일형 리스트형 [코어자바스크립트] 클로저 클로저는 "어떤 함수에서 선언한 변수를 참조하는 내부함수에서만 발생하는 현상"으로, 여러 함수형 프로그래밍 언어에서 등장하는 보편적인 특성이다. 자바스크립트 고유 개념은 아니다. 외부함수에서 변수를 선언하고 내부함수에서 해당 변수를 참조하는 형태의 간단한 코드를 작성해 보자. //외부 함수의 변수를 참조하는 내부 함수 var outer = function(){ var a = 1; var inner = function(){ console.log(++a); }; inner(); }; outer(); outer함수에서 변수 a를 선언했고, outer의 내부함수인 inner함수에서 a의 값을 1만큼 증가시킨 다음 출력한다. inner함수 내부에서는 a를 선언하지 않았기 때문에, 상위 컨텍스트인 outer에 접근.. [코어자바스크립트] 04. 콜백함수 콜백함수 콜백함수란 call + back, 되돌아 호출해달라는 명령이다. 즉, 다른 코드(함수 또는 메서드)에게 인자를 넘겨줌으로 그 제어권도 함께 넘겨주는 함수이다. 콜백함수를 넘겨받은 코드는 이 콜백 함수를 적절한 시점에 실행할 것이다. 예를 들어, 어떤 함수 x를 호출하면서 특정 조건일 때 함수 y를 실행해서 나에게 알려달라는 요청을 함께 보내는 것이다. 이 요청을 받은 x함수는 해당 조건이 갖춰졌는지 스스로 판단하고 y를 직접 호출한다. 제어권 var count = 0; var timer = setInterval(function(){ console.log(count); if(++count > 4) clearInterval(timer); }, 300); setInterval을 호출할 때, 두 개의 .. [코어자바스크립트] 03.this 다른 대부분의 객체지향 언어에서 this는 클래스로 생성한 인스턴스 객체를 의미한다. 클래스에서만 사용할 수 있기 때문에 혼란의 여지가 별로 없다. 그러나 자바스크립트의 this는 어디서든 사용할 수 있다. 함수와 객체(메서드)의 구분이 느슨한 자바스크립트에서 this는 실질적으로 이 둘을 구분하는 유일한 기능이다. 상황에 따라 달라지는 this 자바스크립트에서 this는 기본적으로 실행 컨텍스트가 생성될 때 함께 결정된다. 실행컨텍스트는 함수를 호출할 때 생성되므로, 바꿔 말하면 this는 함수를 호출할 때 결정된다고 할 수 있다. 함수를 어떤 방식으로 호출하느냐에 따라 값이 달라지는 것이다. 전역 공간에서의 this 전역 공간에서 this는 전역 객체를 가리킨다. 전역 컨텍스트를 생성하는 주체가 전역.. 이전 1 ··· 5 6 7 8 9 10 11 12 다음