Javascript(31)
-
[자바스크립트] 클로저(Closure)란?
클로저(Closure)란?렉시컬 스코프를 기반으로, 외부 함수의 실행 컨텍스트가 종료된 이후에도 해당 외부 함수의 지역 변수에 접근할 수 있는 내부 함수를 말한다.상태 유지, 정보 은닉, 비동기 처리 등의 다양한 경우에 활용된다.함수를 일급 객체로 취급하는 함수형 프로그래밍 언어에서 활용된다. 🅴 클로저 예시코드function makeAdder(x) { return function (y) { return x + y; };}const add1 = makeAdder(3);console.log(add1(2)); // 5 출력// add1 함수와는 별개의 독립된 렉시컬 환경을 갖기 때문에 카운터 상태가 연동하지 않는다.const add2 = makeAdder(5);console.log(add2(..
2025.01.01 -
[자바스크립트] 스코프(Scope)란
스코프란?- 스코프(Scope)란 변수, 함수, 객체가 프로그램의 어느 부분에서 접근할 수 있는지를 결정하는 범위이다. 즉, 식별자에 접근할 수 있는 유효 범위를 뜻한다.- 크게 전역 스코프(Global Scope)와 지역 스코프(Local Scope)로 나뉜다. 1. 전역 스코프 (Global Scope)자바스크립트 코드의 최상위 레벨에 해당하는 스코프로 함수 어디에서든 접근이 가능하다.전역 스코프에 선언된 변수 또는 함수를 전역 변수 또는 전역 함수라고 한다. Ⓒ 예시코드// 전역 변수 선언var globalVar = 'I am global'; // 전역 함수 선언function showGlobal() { console.log(globalVar); // 접근 가능}showGlobal();con..
2024.12.28 -
[자바스크립트] 실행 컨텍스트
😂 실행 컨텍스트를 공부하면서 가장 혼란스러웠던 점1. ES5를 기준으로 실행 컨텍스트의 동작 방식과 구조가 달라진 부분2. 이에 따라 이번 포스터에서는 ES5 이전의 실행 컨텍스트 구조를 먼저 설명한 뒤, ES5 이후의 실행 컨텍스트 구조를 다룰 예정 실행 컨텍스트란 실행할 코드에 제공할 환경 정보들을 모아 놓은 객체이다.자바스크립트의 핵심원리인 `hoisting`, `scope`, `this`, `closure` 등의 동작원리를 담고 있다.실행 컨텍스트는 콜 스택(Call Stack)에서 관리하며, 코드 실행 순서를 보장(LIFO) 실행에 필요한 환경 정보 변수 : 전역변수, 지역변수, 매개변수, 객체의 프로퍼티Scope(변수의 유효범위)함수 선언this 컨텍스트(Context)란 실행되는 코..
2024.12.25 -
[자바스크립트] 이터러블(Iterable) vs 이터레이터(Iterator)란
이터러블(Iterable) 객체란?반복(iteration)할 수 있는 객체종류: 배열, 문자열, Map, Set 자료형특징:Symbol.iterator( ) 메서드를 가지고 있는 객체`for...of` 반복문을 사용 이터레이터(Iterator) 객체란?이터러블 객체의 `Symbol.iterator( )`메서드를 호출하여 반환되는 객체값을 순차적으로 접근할 수 있는 객체`next( )` 메서드를 통해 값을 하나씩 처리 next()의 반환 값으로 value에는 값이 저장되고, done에는 반복이 끝났는지를 뜻하는 논리값이 저장 작업 순서)`for...of`가 시작되자마자 for..of는 `Symbol.iterator( )`메서드를 호출`Symbol.iterator( )`메서드는 이터레이터 객체를 반환반환된 ..
2024.12.20 -
[자바스크립트] 자바스크립트의 this
자바스크립트의 this란?- 자신이 속한 객체 또는 자신이 생성할 인스턴스의 내부 프로퍼티나 메서드를 참조하는 변수를 말한다.- 함수 호출 방식에 따라 this가 가리키는 대상이 동적으로 결정(실행 컨텍스트가 생성될 때 결정) 바인딩이란?특정 변수, 함수, 객체 등이 특정 값이나 메모리 위치와 연결되는 과정을 의미한다. ✏️ 전역 공간에서 this는 전역객체(Global object)에 바인딩된다. 🅒 예시코드console.log(this) // window⚠️ 주의사항: Node.js 환경에서는 코드가 모듈 내에서 실행되므로, this가 전역 객체(global)를 가리키지 않고, 빈 객체 `{ }`로 바인딩된다. 추가적인 전역 객체에 대한 설명https://leejungoo.tist..
2024.12.14 -
[자바스크립트] 전역 객체(Global Object)란
전역 객체(Global Object)자바스크립트에서 유일한 최상위 객체를 의미하며, 일반적으로 Browser-side에서는 `window`, Server-side(Node.js)에서는 `global` 객체를 의미한다. 전역 변수와 전역 함수 관리 브라우저 환경정확성: `var`로 선언된 전역 변수 및 함수는 `window 객체`의 프로퍼티에 등록예외: `let`, `const`로 선언된 전역 변수 및 함수는 `window 객체`의 프로퍼티에 추가되지 않는다. (전역 스코프에만 추가)var globalVar = 'I am a global variable';let globalLet = 'I am a block-scoped variable';// 전역 객체의 프로퍼티에서 접근console.log(windo..
2024.12.13