전체 글 91

[JavaScript] 코어 자바스크립트 - 4. this

1. 자바스크립트 this는 다른 언어와 어떻게 다른가요? 다른 객체 지향 언어들에서는 클래스의 인스턴스에서만 this를 사용 가능 자바스크립트는 this를 어디서나 사용 가능하며, 객체와 관한 동작을 수행하기만 하면 메소드라고 부르기 때문에 혼란이 있음 2. 일반 함수와 화살표 함수에서 this가 어떻게 동작하나요? 일반 함수는 따로 this를 바인딩하지 않으면 기본적으로 전역객체를 가리킴 es6에서 등장한 화살표 함수는 this를 바인딩하지 않기 때문에 상위의 this를 가리킴 3. this의 명시적 바인딩, 암시적 바인딩 대해서 설명해주세요. 명시적 바인딩은 call, apply, bind 등의 메소드를 사용하는 방법과 스코프 체인을 이용(상위 스코프에서 var self = this 선언)하는 방법..

개발/JavaScript 2023.03.06

[JavaScript] 코어 자바스크립트 - 3. 이벤트 루프

1. 이벤트 루프에 대해 설명해 주세요. (비동기 처리, 자바스크립트 동시성 처리) 자바스크립트는 싱글 스레드 언어이기 때문에 콜 스택이 하나이지만, 동시에 작업을 처리하기 위해 논 블로킹으로 작업을 수행 그렇기 때문에 비동기 처리가 가능 자바스크립트 엔진이 브라우저 위에서 동작할 때, Web API를 사용할 수 있는데 비동기 처리를 위해 Web API 및 콜백 큐, 이벤트 루프를 이용 이를 통해 자바스크립트는 작업을 동시에 수행할 수 있음 2. 콜 스택에 대해서 설명해 주세요. 자바스크립트 엔진을 이루는 것 중 하나 함수가 호출됐을 때 스택으로 쌓이는 후입 선출의 자료구조 형태 자바스크립트 파일의 어느 부분이 현재 실행 중인지 알 수 있음 3. Web API에 대해서 설명해 주세요. (비동기 처리를 위..

개발/JavaScript 2023.03.06

[NAVER DEVIEW 2023] 오프라인 IT 컨퍼런스 첫 방문기

NAVER DEVIEW 2023 오프라인 IT 컨퍼런스 첫 방문기 DEVIEW 2023 DEVIEW는 국내외 개발자들이 서로의 지식을 나누고, 탁월함을 추구하며, 함께 성장하는 컨퍼런스 입니다. deview.kr 지난 화요일, 내 생애 첫번째 '오프라인' IT 컨퍼런스를 다녀왔다. 원래 DAY 1에 듣고 싶은 세션이 더 많았지만 깜빡하고 티켓팅을 놓쳐서 2월 28일 DAY 2 날짜에 방문하게 되었다. DAY 2 티켓팅도 3-4분만에 매진됐던 것 같은데, 코로나 이후로 더 그렇게 느껴지는진 몰라도 요새 모든게 다 선착순 티켓팅같다🥲 식당 오픈 예약도 미용실도 죄다 예약제.. 아무튼 한창 코로나 때문에 각종 오프라인 행사들이 열리지 않기도 했었고, 그 전에는 개발에 그다지 관심이 없었기 때문에 이번이 나의 ..

[JavaScript] 코어 자바스크립트 - 2. 실행 컨텍스트

1. 실행 컨텍스트란 무엇인가요? 코드가 실행되는 데에 필요한 환경 정보가 담긴 객체 2. 실행 컨텍스트의 환경에 대해서 설명해 주세요. 실행 컨텍스트는 3가지로 구성 1. VariableEnvironment 2. LexicalEnvironment 3. ThisBinding 3. 실행 컨텍스트의 생명주기에 대해 설명해 주세요. 실행 컨텍스트는 함수가 실행될 때 생성됨 VariableEnvironment에서는 식별자를 수집 VariableEnvironment를 복사해서 LexicalEnvironment가 만들어짐 LexicalEnvironment에서는 식별자의 데이터에 변화가 생기면 실시간으로 반영 코드가 다 실행되고 함수가 종료되면 실행 컨텍스트도 소멸 4. LexicalEnvironment는 무엇인가요..

개발/JavaScript 2023.02.26

[JavaScript] 함수 선언문과 함수 표현식의 차이 (feat: 호이스팅이 뭔데?)

코어 자바스크립트 책의 실행 컨텍스트 파트를 읽다가 함수 선언문과 함수 표현식의 차이를 깨우치게 되었다. 이 책은 내가 개발을 처음 시작하고 얼마 안 되었을 때 처음 읽었고, 작년 말쯤 또 읽고, 이번에 3번째 읽는 것이다. 처음 읽을 때는 한 페이지 읽는 데 한참을 붙들고 있었는데, 그래도 여러번 보니 예전보단 수월하게 읽혀서 그동안 스스로가 성장한 것 같아 뿌듯했다😊 인프런에서 해당 책의 내용을 다룬 정재남님의 강의도 2번 보았다(2회차 진행 중이다). 실행 컨텍스트가 면접 단골 질문인 것도, 자바스크립트의 핵심 개념 중 하나인 것도 알고는 있지만, 내게는 각종 어쩌구 environment 라는 단어가 잔뜩 나오는 어려운 내용으로 각인되어 있었다. 대강의 흐름은 알았지만 말로 설명하기 어려워서 이번엔..

개발/JavaScript 2023.02.25