2024/07 8

6장 프로토타입

자바스크립트는 프로토타입 기반 언어이다. 클래스 기반 언어에서는 '상속'을 사용하지만 프로토타입 기반 언어에서는 어떤 객체를 원형(prototype)으로 삼고 이를 복제(참조) 함으로써 상속과 비슷한 효과를 얻습니다.  프로토타입의 개념 이해 6-1-1 constructor, prototype, instance   이 그림만 이해하면 프로토타입은 끝이다. 이 그림으로부터 전체 구조를 파악할 수 있고,전체 구조로부터 이 그림을 도출해낼 수 있으면 된다. 위 그림은 다음 코드의 내용을 추상화한 것이다.var instance = new Constructor(); 이를 바탕으로 좀 더 구체적인 형태로 바꿔보면 다음과 같다. 위 그림의 윗변(실선)의 왼쪽 꼭짓점에는 Constructor(생성자 함수)를, 오른쪽 ..

5장 클로저 발표자료

클로저란?어떤 함수에서 선언한 변수를 참조하는 내부함수에서만 발생하는 현상>>함수를 만들고 그 함수 내부의 코드가 탐색하는 스코프를 함수 생성 당시의 Lexical 스코프로 고정하면 클로저가 된다. 예제를 통해 더 알아봅시다. function outerFunction() { let outerVariable = '나는 외부 변수야'; function innerFunction() { console.log(outerVariable); } return innerFunction;}const myClosure = outerFunction();myClosure(); // "나는 외부 변수야" 출력 'outerFunction'이라는 함수가 있습니다.'outerFunction' 안에는 ..

카테고리 없음 2024.07.21

5장 클로저

1. 클로저의 의미 및 원리 이해 클로저는 여러 함수형 프로그래밍 언어에서 등장하는 보편적인 특성이다. 다양한 서적에서 클로저를 한 문장으로 요약해서 설명하는 부분들을 살펴보자. 자신을 내포하는 함수의 컨텍스트에 접근할 수 있는 함수 함수가 특정 스코프에 접근할 수 있도록 , 의도적으로 그 스코프에서 정의하는 것함수를 선언할 때 만들어지는 유효범위가 사라진 후에도 호출할 수 있는 함수이미 생명 주기상 끝난 외부 함수의 변수를 참조하는 함수자유변수가 있는 함수와 자유 변수를 알 수 있는 환경의 결합로컬 변수를 참조하고 있는 함수 내의 함수자신이 생성될 때의 스코프에서 알 수 있었던 변수들 중 언젠가 자신이 실행될 때 사용할 변수들만을 기억하여 유지시키는 함수MDN에서는 클로저에 대해"클로저는 함수와 그 함..

3,4강 발표자료

3장 this 자바스크립트에서 this는 기본적으로 함수가 호출될 때 함께 결정됩니다.(함수가 호출될 때 생성되는 실행 컨텍스트는 생성과 동시에 this 바인딩 과정을 거치기 때문입니다) >바인딩 : 프로그램의 어떤 기본 단위가 가질 수 있는 구성요소의 구체적인 값, 성격을 확정하는 것(예: int num 123; > num은 변수의 이름, int는 변수의 자료형, 123은 변수의 자료값이라는 구체적인 값을 할당하는 과정)전역 공간에서의 this 전역 공간에서는 전역 컨텍스트를 생성하는 주체가 전역객체이기 때문에 this는 이 전역객체를 가리키게 됩니다. 전역 변수를 선언하면 JS 엔진은 해당 변수를 전역 객체의 프로퍼티로도 할당하는데 예시를 통해 살펴봅시다. //전역 공간(브라우저)var a = 1; ..

4장 콜백함수

1. 콜백함수란? 콜백함수는 다른 코드의 인자로 넘겨주는 함수이다. 일상생활에서 예를 들어보자. A와 B는 다음 날 아침 8시에 만나기로 하고 잠을 잔다.약속 장소에 가려면 늦어도 6시에는 일어나야 한다.A는 불안한 마음에 수시로 깨어 시계를 확인한다.계속 잠을 설치다가 결국 5시 즈음 포기하고 일어나고야 만다.한편 B는 알람시계를 세팅한다.시계가 정한 시각에 울리지 않을 염려는 없고 평소 알람소리에 쉽게 눈을 뜨곤 했던지라 안심하고 꿀잠을 잔다. 6시가 되자 시계의 알람소리를 듣고 상쾌하게 일어난다.A는 수시로 시간을 구하는 함수를 직접 호출한다. 반면 B는 시계의 알람을 설정하는 함수를 호출했고,해당 함수는 호출당시에는 아무것도 하지 않다가 B가 정해준 시각이 됐을 때 '알람을 울리는' 결과를 반환했..

3장 this

window d = 4;​window.d = 4;​1. 상황에 따라 달라지는 this 자바스크립트에서 this는 기본적으로 실행 컨텍스트가 생성될 때 함께 결정된다.>> this는 함수를 호출할 때 결정된다. 함수를 어떤 방식으로 호출하느냐에 따라 값이 달라진다. 3-1-1 전역 공간에서의 this 전역 공간에서 this는 전역객체를 가리킨다.전역 컨텍스트를 생성하는 주체가 전역 객체이기 때문이다.전역 객체는 자바스크립트 런타임 환경에 따라 다른 이름과 정보를 가지고 있습니다.브라우저 환경에서 전역객체는 window이고 Node.js환경 에서는 global 이다.   자바스크립트의 모든 변수는 특정 객체의 프로퍼티로서 동작하기 때문이다. 사용자가 var 연산자를 이용해 변수를 선언하더라도 실제 자바스크립..

1장 데이터 타입, 2장 실행 컨텍스트 발표자료

1장 데이터 타입   자바스크립트 데이터 타입에는 크게 두 가지가 있습니다.그림을 보시면 하위분류에 속하는 타입들을 보실 수 있습니다. 어떤 기분으로 기본형과 참조형을 구분하는 걸까요? 기본형은 값이 담긴 주솟값을 바로 복제하는 반면참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제하는 점이 다릅니다. 또한 기본형은 불변성을 띕니다.  이 불변성을 제대로 이해하기 위해 자바스크립트가  메모리 영역에서 어떻게 처리되는지 알아봅시다. 데이터 타입에 관한 배경지식 메모리와 데이터 0또는 1만 표현할 수 있는 하나의 메모리 조각을 비트(bit)라고 합니다.각 비트는 고유한 식별자를 통해 위치를 확인할 수 있습니다. 매우 많은 비트를 한 단위로 묶으면 검색시간을 줄일 수도 있고 표현할 수 있는 ..

코어 자바스크립트 - 1장 : 데이터 타입

1. 데이터 타입의 종류 자바스크립트 데이터 타입에는 크게 두 가지가 있다.  데이터 타입기본형숫자(Number)문자열(String)불리언(Boolean)nullundefinedSymbol참조형객체(Object)함수(Function)날짜(Date)정규 표현식(RegExp)Map,WeakMapSet,WeakSet 기본형과 참조형을 구분하는 기준이 뭘까? - 일반적으로 기본형은 할당이나 연산시 복제되고 참조형은 참조된다고 알려져 있음 엄밀히 말하면 둘 모두 복제를 하긴 하지만 기본형은 값이 담긴 주솟값을 바로 복제하는 반면,참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한다는 점이 다르다.  2. 데이터 타입에 관한 배경지식 메모리와 데이터 0또는 1만 표현할 수 있는 하나의 메모리 조..