본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다.먼저 메모리 관점에서 변수를 이해하려면 메모리에 대한 이해가 필요하다메모리 : 데이터를 저장할 수 있는 메모리 셀의 집합체메모리 셀 : 셀 하나의 크기는 1바이트, 컴퓨터는 메
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다.문과 표현식을 구별하고 해석할 수 있다면 자바스크립트 엔진의 입장에서 코드를 읽을 수 있고 실행 결과를 예측하는데 도움이 된다.값은 식이 평가되어 생성된 결과이다. 여기서 평가
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다.C나 자바의 경우, 정수와 실수를 구분해서 int, long, float, double 등 다양한 숫자 타입이 있다. 하지만 자바스크립트에서는 모든 수를 실수로 처리하며, 정수
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다. 1. 산술 연산자 : 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. 연산이 불가능한 경우, NaN을 반환 1) 이항 산술 연산자 : 2개의 피연산자를
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다.조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.for문이 가장 중요!: 0개 이상의
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다. 1. 타입 변환이란? 명시적 타입 변환 : 개발자가 의도적으로 값의 타입을 변환하는 것 암묵적 타입 변환 : 자바스크립크 엔진에 의해 타입이 자동으로 변환되는 것 명시적
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다.원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다.원시 타입 : 하나의 값을 나타냄, 변경 불가능한 값객체 타입 : 다양한 타입의 값을 하나의 단위로
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다.원시 타입과 객체 타입은 근본적으로 다르다!값의 변경 가능성 : 원시 값은 변경 불가능한 값이고, 객체 타입의 값은 변경 가능한 값이다.저장되는 값의 차이 : 원시 값을 변수에
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다. 1. 함수란? 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수 내부로 입력을 전달받는 변수를 매개변수, 입력을 인수, 출
본 포스팅은 '모던 자바스크립트 Deep Dive'를 기반으로 공부한 내용을 정리한 것입니다.함수 정의와 동시에 즉시 호출되는 함수. 단 한 번만 호출될 수 있다. 익명 함수를 쓰는 것이 일반적이다. (이름이 있어도 호출할 수 없기 때문)즉시 실행 함수도 값을 반환하거
자바스크립트의 동작 원리를 담고 있는 핵심 개념코드가 실행되기 위해 필요한 환경소스코드의 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다름전역 코드 → 전역 실행 컨텍스트전역 스코프를 생성var 키워드로 선언된 전역 변수와 함수 선언문으로 정의된 전역 함수
식별자가 유효한 범위모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정스코프를 통해 어떤 변수를 참조해야할 것인지 결정 (스코프는 곧 렉시컬 환경이다)전역 : 코드의 가장 바깥 영역전역 변수는 전역 스코프를 갖음지역 :
지역변수의 생명주기는 함수의 생명주기와 일치한다호이스팅은 스코프를 단위로 동작한다변수 선언이 ‘스코프’의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징함수 내부로 이동하게 되면 코드 평가가 시작됨var x이므로 ‘global’로 할당한 전역 변수 x는 함
var 키워드로 선언된 변수는 동일 스코프 내에서 중복 선언을 허용한다.함수 레벨 스코프 : 함수의 코드 블록만을 지역 스코프로 인정의도치 않게 변수값이 변경되는 부작용 발생var 키워드로 선언한 변수는 변수 호이스팅에 의해 변수 선언문 이전에 참조할 수 있다. (le
ECMAScript에서 사용하는 의사 프로퍼티(pseudo property), 의사 메서드(pseudo method)실제로 동작하지만, 개발자가 접근할 수 없음자바스크립트 엔진의 내부 로직일부 내부 슬롯, 내부 메서드에 한하여 간접적으로 접근 가능프로퍼티를 생성할 때
생성자 함수 : new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수인스턴스 : 생성자 함수에 의해 생성된 객체new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환String, Number, Boolean, Function, Arr
함수를 호출하면 함수 코드가 평가되어 함수 실행 컨텍스트가 생성함수 실행 컨텍스트는 실행 컨텍스트 스택 (콜 스택)에 푸쉬되고 함수 코드가 실행함수 코드의 실행이 종료하면 함수 실행 컨텍스트는 실행 컨텍스트 스택에서 팝되어 제거 된다.자바스크립트 엔진은 단 하나의 실행
전통적인 콜백 패턴의 단점을 보완하기 위해ES6에서 비동기 처리를 위한 전통적인 콜백 패턴의 단점을 보완하기 위해 프로미스를 도입했다.콜백 헬에러처리의 한계비동기 함수 내부에 비동기로 동작하는 함수는 비동기 처리 결과를 외부로 반환하거나 상위 스코프의 변수에 할당할 수