
현재 참여중인 부트캠프 엘리스 SW 엔지니어 4기에서 1차 스터디가 시작되었다. 스터디 명은 딥뽀(딥다이브 뽀개기)로, 각자 모던 자바스크립트 deep dive책을 읽고 블로그에 글을 작성하는 방식으로 진행된다. 매주 금요일 저녁에 스터디 모임을 가져서 한주동안 책을

4. 변수 4-1. 변수란 무엇이고, 왜 필요한가? > 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다. 간단히 말하자면 변수는 값의 위치를 가리키는 상징적인 이름이다. 그렇다면 왜? 변수가 필요

해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.원시 값은 "불변성"을 가진다. 변경 불가능한 값이기 때문에 원시 값을 할당한 변수는 재할당 이외에 변수 값을 변경할 수 있는 방법이 없다. 이러한 원시 값의 특성은

위 예시의 지역 변수 x는 foo 함수가 호출되기 이전까지는 생성되지 않는다. foo 함수를 호출하지 않으면 함수 내부의 변수 선언문이 실행되지 않기 때문이다. 변수 선언은 런타임 이전 단계에 먼저 실행된다고 배웠는데, 이것은 전역변수에 한정된 것이다. 함수 내부에 선

var 키워드로 선언한 변수와 달리 let, const 키워드로 선언한 변수는 변수 호이스팅이 발생하지 않는 것처럼 동작한다. var 키워드로 선언한 변수는 런타임 이전에 “선언 단계”와 “초기화 단계”가 한번에 진행된다.하지만 let, const 키워드로 선언한 변수

해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 이후 프로퍼티 또는 메서드를 추가하여 객체를 완성할 수 있다.이와 같이 생성자

해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.프로그램을 명령어 또는 함수의 목록으로 보는 전통적인 명령형 프로그래밍의 절차지향적 관점에서 벗어나 여러 개의 독립적 단위, 즉 객체의 집합으로 프로그램을 표현하려는

해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.프로토타입은 임의의 다른 객체로 교체할 수 있다. 이러한 특징을 활용하여 객체 간의 상속관계를 동적으로 변경할 수 있다. 프로토타입을 교체하면 constructor 프

자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 가능성이 높거나 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 명시적인 에러를 발생시킨다.린트 도구(ESLint)를 사용하면 strict mode와 유사한 효과를 얻는다. 린트 도구는 strict

해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.표준 빌트인 객체ECMAScript 사양에 정의된 객체를 말하며, 애플리케이션 전역의 공통 기능을 제공한다.호스트 객체자바스크립트 실행 환경에서 추가로 제공하는 객체이

해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수다. this는 자바스크립트 엔진에 의해 암묵적으로 생성되며 코드 어디서든 참조할 수

해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.클래스는 기존 프로토타입 기반 패턴을 클래스 기반 패턴처럼 사용할 수 있도록 하는 문법적 설탕이라고 볼 수도 있지만, 아래와 같은 차이점이 있어 문법적 설탕보다는 새로

해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.new 연산자와 함께 클래스 호출 → 빈 객체 생성(=인스턴스) → 클래스가 생성한 인스턴스의 프로토타입으로 클래스의 prototype프로퍼티가 가리키는 객체가 설정됨