분류 전체보기
-
[Javascript] 실행 컨텍스트(execution context)Development/Javascript 2020. 8. 27. 03:11
🙋♀️ 들어가기 전에 여러 자바스크립트 개념들과 연관되어 있기 때문에 자바스크립트 개발자는 실행 컨텍스트가 어떻게 생성되고 사용되는지 꼭 알아야한다고 생각한다. 따라서, 이번 포스팅을 통해 실행 컨텍스트의 개념을 확실히 익히는게 목적이다! 🤷♀️ 실행 컨텍스트란? 실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체다. Javascript에는 3 종류의 실행 컨텍스트가 있다. 전역 실행 컨텍스트(Global execution context) : 자바스크립트 파일이 열리는 순간 처음으로 실행되는 컨텍스트 함수 실행 컨텍스트(Function execution context) : 함수가 실행될 때 실행되는 컨텍스트 eval 실행 컨텍스트 (Eval execution context) : eval..
-
[Javascript] 콜백함수와 비동기 처리 part 2Development/Javascript 2020. 8. 18. 17:12
😊 비동기 제어하기 1. Promise MDN에서 설명하는 Promise는 다음과 같다. "Promise는 프로미스가 생성될 때 꼭 알 수 있지는 않은 값을 위한 대리자로, 비동기 연산이 종료된 이후의 결괏값이나 실패 이유를 처리하기 위한 처리기를 연결할 수 있도록 합니다. 프로미스를 사용하면 비동기 메서드에서 마치 동기 메서드처럼 값을 반환할 수 있습니다. 다만 최종 결과를 반환하지는 않고, 대신 프로미스를 반환해서 미래의 어떤 시점에 결과를 제공합니다." 간단히 말하면 비동기 처리에서 사용하는 객체다. setTimeout(function () { console.log("one"); setTimeout(function () { console.log("two"); setTimeout(function ()..
-
[Javascript] 콜백 함수와 비동기 처리 part 1Development/Javascript 2020. 8. 14. 02:40
🖐 들어가기 전에 비동기가 도대체 뭔데?!!!! 무턱대고 자바스크립트 코드를 작성 할때 항상 의문이였던건 비동기라는 것이였다. asyn/await만 붙이면 모든 함수들이 비동기가 되는줄 알아서 모든 함수에 asyn 붙이고...🤦♀️ 개념이 확실히 안 잡힌 상태에서 무작성 코드를 작성하니 갈수록 혼란해지고 답답한 마음이 커졌다. 이번 포스팅을 통해서 자바스크립트의 콜백 함수와 비동기 처리에 대해 확실히 이해하는 것이 목표다! 💁♀️ 사전에 알아야될 용어 정리 1. 동기 동기란 요청이 들어온 순서에 맞게 하나씩 처리하는 방식으로, 요청 들어온 작업이 끝날 때 까지 기다렸다가 응답을 즉시 처리하고 다음으로 넘어간다. 2. 비동기 비동기란 하나의 요청에 따른 응답을 즉시 처리하지 않아도, 그 대기 시간동안 ..
-
[Javascript] 불변객체? 불변성? 그게 뭐에요?!!Development/Javascript 2020. 8. 13. 00:14
불변성이란? 사전적의미 그대로 변하지 아니하는 성질이다. 불변성이라는 개념을 이해하기 위해서는 자바스크립트의 데이터가 처리되는 과정을 이해해야한다. 자, 그럼 그 처리 과정을 대략적으로 살펴보겠다. var a = 'abc'; 필자는 a라는 변수를 선언하고, abc라는 데이터 값을 할당했다. 그럼 자바스크립 엔진은 메모리에 a라는 식별자를 가진 빈 공간을 마련하고, 주소를 할당한다. 그리고, 할당한 주소에 abc 라는 데이터 값을 저장한다. 여기서 한번 더 생각해야할 점은 a라는 식별자를 가진 메모리 공간에 바로 abc라는 데이터 값이 아닌, 데이터 값의 메모리 주소값을 할당한다는 점이다! 변수의 값을 변경하면 어떻게 될까? var a = 'abc'; a = 'bbb'; 선언해둔 a라는 변수에 bbb라는 ..