반복문

제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 제어문을 이용하면 코드의 실행 흐름을 인위적으로 제어할 수 있지만, 실행 순서를 변경하는 것은 직관적인 코드의 흐름을 혼란스럽게 한다. 8.1 블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록 또는 블록이라고 부른다. 블록문을 하나의 실행 단위로 취급한다. 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기에 블록문 끝에 세미콜론을 붙이지 않는다. // 블록문 { var foo = 10; } // 제어문 var x = 1; if(x < 10) { x++; } // 함수 선언문 function sum (a, b) { return a + b; } 8.2 조건문 조건문은 주어진 조건식의 평가 결과에 따라 코드 블록의..
클로저란? 클로저는 함수가 속한 렉시컬 환경을 기억해서 함수가 렉스컬 스코프 밖에서 실행될 때에도 함수가 속한 스코프에 접근할 수 있게 하는 기능을 말한다. function foo() { var a = 2; function bar(){ console.log(a); // 2 } return bar; } var func = foo(); func(); GC(Garbage Collector)가 foo()의 참조를 없앨 것 같지만, bar()가 해당 스코프에 있는 a를 참조하기 때문에 없애지 않는다. 그러므로 스코프 외부에서 bar()가 실행되면 스코프를 기억하고 있기에 2가 출력된다. 이때, 클로저는 bar()에서 발생하며, 이는 스코프 외부에서 foo()의 스코프안에 있는 bar()를 참조하기 때문이다. 다시..
58청춘
'반복문' 태그의 글 목록