원티드, 위코드 FE 프리온보딩 – 일곱 번째 수업 [5] (This)
This 일반적으로는 class에서 사용합니다. 보통 class로 생성한 인스턴스 객체를 this라고 합니다. 하지만 JavaScript에서는 그렇지 않고 this가 가리키는 대상이 항상 달라집니다. 1. 함수와 메서드 메서드는 객체의 프로퍼티로 함수가 정의되어야 합니다. 객체가 함수를 호출해야지 메서드입니다. let user = { name: 'kim', underTwenty: function(age) { return age < 20; } } user.underTwenty(30); // 메서드 const under20 = user.underTwenty;... » read more
원티드, 위코드 FE 프리온보딩 – 일곱 번째 수업 [4] (Closure)
Closure 일급 함수를 이용해서 스코프엔 묶은 변수를 바인딩하기 위한 기술입니다. 즉, 함수가 선언할 때 만들어진 scope가 사라진 후에도 호출할 수 있는 함수입니다. 함수가 선언됐을 때가 중요합니다. var A = function() { var a = 1; var B = function() { return ++a; }; **return B;** }; var outer = A(); console.log(outer()); // 2 console.log(outer()); //... » read more
원티드, 위코드 FE 프리온보딩 – 일곱 번째 수업 [3] (Scope)
Scope 변수가 유효한 범위를 말합니다. 어디까지 쓸 수 있는 지를 이야기하는 것입니다. var x = 'global'; function foo () { var x = 'function scope'; console.log(x); //function scope } foo(); console.log(x); //global 스코프가 없다면 충돌하지 않도록 중복되는 변수명은 쓸 수 없을 것입니다. 1. Scope 종류 1.1. Global Scope 코드 어디에서든지 참조할 수 있습니다. var로 선언한... » read more
원티드, 위코드 FE 프리온보딩 – 일곱 번째 수업 [2] (Hoisting)
Hoisting 1. 함수 선언문과 함수 표현식 함수 선언문 (function declaration) function a() { 함수 표현식 (function expression) function을 변수에 할당 var a = function() { } var b = function success() { //리터럴 } 2. Hoisting 변수의 선언을 끌어 올리는 것입니다. var x = 1; console.log(x + " " + y); // '1 undefined' var... » read more
원티드, 위코드 FE 프리온보딩 – 일곱 번째 수업 [1] (실행 컨텍스트)
실행 컨텍스트 1. 실행 컨텍스트란? JS 코드가 실행되고 있는 컨텍스트(환경)를 제공하는 객체입니다. 실행할 코드에 대한 정보를 가지고 있습니다. 2. “실행할 코드'와 콜스택 (=실행스택 = Excution Stack) 함수가 실행될 때마다 Call Stack이 쌓이고 끝나면 나가고 이런 방식으로 이루어 집니다. https://ui.dev/javascript-visualizer/ 실행 컨텍스트를 시각화해서 보여주는 사이트 3. 실행할 코드 전역 코드 전역 영역에 존재하는 코드는 전역 컨텍스트가... » read more
시놀로지에 docker를 통해서 VSCODE 사용하기
시작하기 이 글은 시놀로지에서 docker를 통해서 Visual Studio Code를 사용하는 방법을 정리한 글입니다. 최근 코딩을 엄청나게 하면서 잠깐 야외에 나갔을 때도 이어서 코딩을 했으면 좋겠다고 생각을 했는데, 집에 있는 NAS를 활용하면 좋겠다는 생각이 들어 code server(VSCODE)를 세팅하면서 이 글을 남깁니다. 작년에 NAS를 장만한 이유는 구글 학교 무제한 계정이 유료화되면서 급하게 사진을 옮길 공간을 찾았고, 여러... » read more
원티드, 위코드 FE 프리온보딩 – 여섯 번째 수업[6] (async & await, 이벤트 루프)
async & await 1. async & await es8에서 도입되었습니다. 비동기 함수를 선언합니다. 2. 즉시 실행함수(Immediately invoked function expression, IIFE) 외부 함수 없이 바로 await를 쓰고 싶을 때 아래처럼 활용합니다. 3. 예외 처리 try와 catch 이벤트 루프 1. 이벤트 루프 Heap 단순히 메모리 영역을 지칭하는 용어입니다. 변수 등의 정보를 저장합니다. 콜스택 최상단에 있는 실행 컨텍스트가 실행되면서... » read more