14장 전역변수의 문제점
·
Book/모던 자바스크립트 Deep Dive
14.1 변수의 생명주기14.1.1 지역변수의 생명주기전역변수의 생명주기는 애플리케이션의 생명주기와 같다.하지만 함수내부에서 선언된 지역변수는 함수가 호출되면 생성되고 종료하면 소멸한다.console.log(x); // referenceErrorfunction foo() { console.log(x); // undefined var x = "local"; console.log(x); // local return x;}foo();console.log(x); // referenceError 변수선언은 코드가 한줄씩 순차적으로 실행되기전에 런타임이전단계에서 자바스크립트 엔진에 의해 먼저실행된다고 앞장에서 다뤘었다.하지만 지역변수 x는 함수호출전에는 생성되지않는다. 함수가 호출된후 그다음 자바스크립트 엔진이..
12장 함수
·
Book/모던 자바스크립트 Deep Dive
12.1 함수란?함수는 함수정의, 함수호출로 나눠진다.함수 정의function add(x, y) { return x + y;} 함수 호출add(2,4); // 6 12.2 함수를 사용하는 이유함수는 코드의 재사용측면에서 유용하다.만약에 코드를 수정해야될때 함수를 사용하지않는다면 중복된 횟수만큼 코드를 수정해야하기때문이다.즉 유지보수의 편의성을 높이고 코드의 신뢰성을 높이는 효과가 있다. 12.3 함수 리터럴var f = function add(x, y) { return x + y;}여기서 보면 함수를 만들어서 변수에 할당하고있다.함수리터럴도 값을 생성하기때문에, 값은 객체이다. 즉 함수는 객체이다.단 일반객체는 호출할수없지만 함수는 호출할 수 있다. 필자는 함수가 객체이다 라는게 와닿지않는다. 그냥 함..