우선 예제 코드의 실행 순서부터 보겠습니다. console.log(outer()); 실행 inner(); 함수 실행 console.log(a, b, c); 실행 console.log(a, b, c); 실행 끝 inner 함수 실행 끝 outer 함수 변수 d 값 반환 outer 함수 실행 끝 console.log(outer()); 실행 끝 결과 클로저...
(초등학생도 알아들을 수 있도록 설명을 하자.) ES6문법이 사용되기 전에는 "var"을 사용했습니다. ES6문법이 사용되면서 변수를 선언할 때 var, let, const를 사용합니다.var를 사용했을 때와 let, const를 사용했을 때 차이가 있습니다. 1. 변수선언, 할당 - - var는 변수 선언할 때 사용한 이름으로 다시 선언할 수 ...
개발을 하면서 코드를 체계화하고 구조화해서 데이터를 다룰 필요성과 현실 세계를 흉내낼려고 객체지향언어가 생겨났습니다. 이 객체지향언어적인 코드를 작성할려면 객체를 생성하는 클래스가 필요합니다. 이 클래스를 이용해서 필요로하는 데이터의 속성, 메소드의 기본이 되는 틀을 만듭니다. 그리고 클래스를 이용해서 클래스의 형태를 가진 객체를 생성합니다. 이 과정을 인...
화살표 함수는 ES6문법입니다. function 키워드 사용해서 함수를 만든 것보다 간단히 함수를 표현할 수 있습니다. 화살표 함수는 항상 익명입니다. 1. 화살표 함수의 기본문법 콜백 함수에서도 사용할 수 있습니다. 2. 화살표 함수 this 일반 함수와 화살표 함수의 차이점이 있습니다. 일반함수가 전역 컨텍스트에서 실행될 때 this가 정의합니다....
this의 값은 함수를 호출한 방법이 결정합니다. 함수를 호출하는 방법에는 어떻게 있을까요? 전역에서의 this 함수에서의 this call, apply 메소드에서의 this 내부함수, 콜백함수에서의 this 전역에서의 this this는 기본적으로 전역 객체인 window에 바인딩됩니다. 함수에서의 this 함수안에 있는 this가 window객...
사전에서 찾아보면 hoisting이란 말은 "끌어올리기" 입니다. 그렇다면 javascript에서 hoisting은 어떤걸 말하는 걸까요? 변수 Hoisting 변수를 선언과 할당으로 나눌 수 있습니다. 예제를 보면 선언과 할당을 동시에 한 것과 같이 보입니다. javascript 엔진에서는 선언을 먼저 끌어올립니다. 값을 선언하지 않고 값을 실행하면 ...
비동기는 JavaScript에서 코드가 동작할 때 코드가 끝날 때까지 기다리는게 아니라 다음 코드가 동작하는 JavaScript특성을 말합니다. 비동기와 대조되는 것이 동기입니다. 동기는 어떻게 동작하는 걸까요? 동기의 동작을 먼저 살펴보겠습니다. 지금부터 상상력이 필요합니다. 우리는 지금 커피숍에 있습니다. 커피를 주문해야하는데 앞에 손님들이 대기하고 ...