함수의 동작이 스택의 동작(후입선출, LIFO)과 같다고 call stack(호출 스택)이라고 부른다.함수를 호출 할 때마다 call stack에 해당 함수를 쌓는다. 가장 마지막에 들어간 함수가 먼저 실행 되고 실행을 마친 함수는 스택에서 사라진다.ex)a 라는 함
함수를 실행시키면 해당 함수에 있는 아직 호출(실행)된 게 아닌 콜백함수들을 백그라운드에 담고 이 콜백함수들을 바로 호출 스택에 넣어주는 게 아니라 태스크 큐로 보낸다. 이벤트 루프는 호출스택이 비어있을 때 태스크 큐 안에 있는 콜백함수들을 꺼내서 호출스택에 넣어준다.
스코프(Scope)란? 스코프란 범위를 의미한다. 용례를 보면 function 안에서 변수를 가져와 쓸 때 그 변수를 어떤 범위 내에서 쓸 것인지에 대한 범위가 스코프를 의미한다. 자바스크립트의 스코프는 정적이다. 즉, 변수 및 함수들이 선언된 그 때부터 정적으로
프로미스란? 동기 처리는 한 작업이 끝날 때까지 기다렸다가 순차적으로 작업을 처리하는 것을 의미하고 비동기 처리는 한 작업이 진행되는 중에 다른 작업도 진행할 수 있다. 프로미스는 비동기 처리를 위한 기능으로 new Promise 형식으로 객체를 만들어 사용하고 실행
async와 await 를 사용하면 promise를 체인 형식으로 반환하는 것 보다 가독성이 좋아진다. Async의 사용법 함수 앞에 async를 붙여주면 해당 함수는 항상 promise를 반환한다. 위의 코드를 실행하면 브라우저 콘솔창에 아래와같이 Promise
참고 자료 https://youtu.be/wUgmzvExL_E 프로토타입이란? 프로토타입은 원형, 즉, 원래의 형태를 의미한다. 원형을 의미한다는 말만 봤을 때는 단번에 '아 프로토타입이란 이거군.' 하고 파악할 수 없다. 이해한대로 간단하게 설명하면 자바스크립트
참고 자료 https://opentutorials.org/course/743/6578 Object가 객체를 의미하는데 Object 객체는 뭘까? Object는 최상위 객체를 의미한다. 자바스크립트는 알면 알수록 자바가 생각난다. 자바에서 최상위 클래스도 Object
스터디 그룹에서 자바스트립트의 this와 관련된 질문이 들어왔다. 기존에 그러려니 하고 넘어갔던 부분인데 이번에 제대로 알게 됐다. 위 예시(출처: https://ko.javascript.info/object-methods) 에서 user.ref가 undefined인