Dev/javascript 5

[자바스크립트] 클로저

자바스크립트클로저, closure 매번 공부를 해도 잘 모르는것 같고,아는 것 같지만 막상 잘 활용하지 못하고 있는자바스크립트의 핵심 기능 클로저를 알아보자. "특정 함수가 참조하는 변수들이 선언된 렉시컬 스코프(유효범위)는 계속 유지되는데, 그 함수와 스코프를 묶어서 클로저라고 한다."- 속 깊은 자바스크립트 (양성익) 함수 객체와, 함수의 변수가 해석되는 유효범위를 아울러 컴퓨터 과학 문헌에서는 클로저라고 일컽는다.- 자바스크립트 완벽 가이드 (데이비드 플래너건) 이해가 되질 않는다.... 클로저가 발생되는 기본적인 환경은 스코프 안에 스코프가 있을 때 이다.즉, function안에 function이 선언 되어있을때 발생된다. 일반적으로 어떤 함수가 그 함수 내부에서 정의한 중첩 함수를 반환하는 것이..

Dev/javascript 2018.12.03

자바스크립트 스코프

스코프? 글로벌(전역)로컬(지역) 자바스크립트는 다른언와아 다르게 블록스코프를 생성하지 않는다.즉, { }안에서 스코프가 아니다.자바스크립트에서 스코프가 발생하는 경우는function - function foo () { scope }with - with({ scope }) { }catch - try{ }catch(){ scope }일 경우이다. with문의 경우 eval문과 같이 자바스크립트 개발자들 사이에서 사용하지 않길 권고하는 문법이다. 일단 자세한 설명은 생략하고,

Dev/javascript 2018.12.03

[자바스크립트] 끌어올림(hoisting), 호이스팅이란

자바스크립트호이스팅, 끌어올림, hoisting, scope 자바스크립트 이용할때 신경써야 할 부분이 있다.바로, 블록 유효범위(block scope), 스코프에 대해 신경을 써야한다. 자바스크립트는 다른 개발 언어와 다르게 블록 유효범위의 개념이 없다. js는 함수 유효범위(function scope), 즉 함수안에 선언된 모든 변수는 그 함수 전체에 유효하다는 의미이다. 자바스크립트를 사용한 사람은 한번쯤 들어 본적이 있을 것이다 끌어올림.즉 함수내 모든 변수를 맨 꼭대기로 끌어올린것 처럼 사용된다는 점이다. 1234567891011 function testHoist(){ var outerHoist = "hello"; if(hois1){ console.log(outerHoist); - hello va..

Dev/javascript 2018.11.09