본문 바로가기

프리코스

[JavaScript] this, call, apply, bind Reference - 자바스크립트 심화개념 in 코드스테이츠 프리코스 this는 실행 컨텍스트 (Execution Context)에 속한다. 어떤 함수가 호출되면, 실행 컨텍스트가 생성되고 call stack에 메모리를 push하고 함수를 벗어나면 call stack에서 pop한다. 실행 컨텍스트는 Scope 별로 생성되고 그 안에는 Scope 내 변수 및 함수 (Local, Global), 전달 인자 (arguments), 호출된 근원 (caller) 그리고 this가 있다. 'this' keyword this는 모든 함수 scope 내에서 자동으로 설정되는 특수한 식별자로 위에서 말한 실행 컨텍스트의 구성 요소 중 하나이다. this는 함수가 실행되는 동안 이용할 수 있다. 5 Patterns of .. 더보기
[JavaScript] 클로저(Closure) 클로저(Closure)란? 클로저는 외부 함수의 변수에 접근할 수 있는 내부 함수 또는, 이러한 작동 원리를 일컫는 용어이다. 클로저 함수 안에서는 지역 변수(Local Variable), 외부 함수의 변수(Outer Function Variable), 전역 변수(Global Variable)의 접근이 전부 가능하다. 그렇기 때문에 클로저는 일반적으로 사이드 이펙트를 제어할 때와 private 변수를 생성할 때 많이 사용된다고 한다. function outerFn() { let outerVar = 'outer'; console.log(outerVar); function innerFn() { // -> 클로저 함수 let innerVar = 'inner'; console.log(innerVar); } re.. 더보기
[JavaScript] 스코프 - 함수/변수를 선언할 때 주의해야 되는 4가지 코드스테이츠 프리코스에서 자바스크립트 핵심 개념 - 스코프 강의에서 나온 내용들을 다시 정리해보았다. 강의를 통해 var를 이용한 선언과 전역 범위에서 이루어지는 선언이 왜 위험한지 이해하고 넘어갈 수 있었다. 스코프(Scope)란? 변수는 어떠한 환경 내에서만 사용 가능하며, 프로그래밍 언어는 각각의 변수 접근 규칙을 갖고 있는데 변수와 그 값이, 어디서부터 어디까지 유효한지를 판단하는 범위가 바로 스코프이다. 다시 말해, 변수 접근 규칙에 따른 유효 범위를 스코프라 칭한다. JavaScript에서는 기본적으로 함수가 선언되는(lexical) 동시에 자신만의 Scope를 가진다. Rule 1: Local Scope vs. Global Scope 함수 안에 함수를 넣을 수 있으므로 스코프는 중첩이 가능하.. 더보기