The journey to becoming a developer

My future is created by what I do today, not tomorrow.

Total 8

Objects in JavaScript: 자바스크립트에서 객체 4가지로 분류하기

Objects in JavaScript setTimeout과 setInterval 함수에 대한 설명을 읽고 있었는데, 이것들이 호스트 객체라는 설명을 보았다. 처음에 이 말을 보고 정확히 와닿지 않아서 더 알아보기로 했다. 찾아 보니 자바스크립트에서 객체는 크게 4가지 정도로 분류가 가능했다. 모던 자바스크립트 딥 다이브 책을 읽고 나니, 이제는 자바스크립트에서 객체를 바라볼 때 큰 틀에서 4가지로 분류해서 볼 수 있는 시야가 생겼다. 전역 객체의 특징에서 암묵적 전역(Implicit global)이 전역 객체의 프로퍼티가 된다는 말이 있었다. 사실 전역 객체에 프로퍼티를 등록하는 코드를 지금까지 작성해서 사용해 본 적이 없고, 앞으로도 없지 않을까 예상해본다. 선언하지도 않은 변수에 값을 할당하는 것은..

JavaScript - Variable, Closure

2주 만에 재개된 자바스크립트 스터디. 오늘은 저번에 했던 단원들을 묶어서 복습하는 식으로 진행했다. 앞으로 당분간은 오늘같은 식으로 단원을 묶어서 진행할 예정이다. 제이와 난정은 사정이 있어 참석하지 못했고 칸, 앨런, 도트와 함께 넷이서 진행했다. 코드스쿼드 수료 이후의 첫 스터디였고 그동안 약간 풀어진 나사를 다시 조이는 계기가 되었다. 얕게 스쳐만 지나갔던 개념들을 선명하게 머릿속에 집어넣고 제대로 말할 수 있을 정도로 반복을 해야겠다고 느꼈다. 기억을 오래 남기고 싶어 다시 한 번 정리하는 시간을 가져본다. 🧩 Variable 변수란 무엇이고, 왜 필요한가? 변수란 결국 프로그래밍을 할 때 데이터 관리를 용이하게 하기 위해 사용하는 것. 재사용하고 싶은 값을 메모리에 저장하고, 그 값을 읽기 위..

Execution Context: How JavaScript Works Behind the Scenes

1. 실행 컨텍스트란? 자바스크립트의 동작 원리를 담고 있는 핵심 개념 자바스크립트가 scope를 기반으로 식별자와 식별자에 바인딩된 값(식별자 바인딩)을 관리하는 방식 hoisting이 발생하는 이유 closure의 동작 방식 closure를 지원하는 대부분의 언어에서 이와 유사하거나 동일한 개념이 적용되어 있음 task queue와 함께 동작하는 event handler와 비동기 처리 동작 방식 scope, hoisting, this, function, closure 등의 동작 원리를 담고 있는 자바스크립트의 핵심 개념 실행 가능한 코드가 실행되기 위해서 필요한 환경 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념 JS는 어떤 실행..

[Deep Dive Week 2] Closure in JavaScript

1. 클로저는 무엇이며, 어떻게/왜 사용하나요? 참고 링크 💻 프론트엔드 면접 질문 - JS #1 이 글은 프론트엔드 직무 면접 질문과 관련된 Github 저장소 front-end-interview-handbook 번역본으로, 저장소에 Translations 폴더의 내용과 동일합니다. velog.io 클로저는 함수와 그 함수가 선언된 렉시컬 환경의 조합입니다. "Lexical"은 렉시컬 범위 지정이 변수가 사용 가능한 위치를 결정하기 위해 소스 코드 내에서 변수가 선언된 위치를 사용한다는 사실을 나타냅니다. 클로저는 외부 함수가 반환된 후에도 외부 함수의 변수 범위 체인에 접근할 수 있는 함수입니다. "함수가 선언된 렉시컬 환경"이 뭘까? Reference Master the JavaScript Inte..

[Deep Dive Week 2] Scope in JavaScript

JavaScript Deep Dive 스터디 질의응답 정리 범위 : 13장 스코프, 14장 전역 변수의 문제점, 15장 let, const 키워드와 block level scope 1. 상위 스코프에 있는 변수를 하위 스코프에서 참조할 수 있는 이유는 무엇인가요? 반대로, 상위 스코프에서 하위 스코프를 참조할 수 없는 이유는 무엇인가요? (자바스크립트 엔진이 변수를 참조하는 방식을 설명해보세요.) 더보기 자바스크립트의 스코프는 계층적인 구조를 갖기 때문입니다. 이것을 Scope Chain이라고 합니다. 변수를 참조할 때, 자바스크립트 엔진은 이 Scope Chain을 통해 변수를 참조하는 Scope에서 시작해서 상위의 Scope로 이동하면서 선언된 변수를 검색합니다. 즉, Scope Chain이 있기 때..

JavaScript Number

책 를 바탕으로 정리한 내용입니다. 요즘 알고리즘 스터디를 매일 하고 있다. 오늘 스터디 멤버분이 알고리즘 풀이에서 Number.MIN_SAFE_INTEGER를 사용해서 문제를 해결하는 것을 보고 Number에 대해서 좀더 알아보고, 활용할 수 있어야겠다 싶었다. Deep Dive 책을 보니 상세하게 설명되어 있었다. 아직 익숙하지 않은 프로퍼티와 메서드들은 앞으로 차차 알고리즘을 더 풀어 나가면서 익숙하게 만들 것이다. 1. Number 생성자 함수 자바스크립트에서 Number는 표준 빌트인 객체(standard built-in object)이다. Number는 원시 타입인 숫자를 다룰 때 유용한 프로퍼티와 메서드를 제공한다. 또한 Number 객체는 생성자 함수 객체이기 때문에 new 연산자와 함께 ..