본문 바로가기 메뉴 바로가기

WANZARGEN

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

WANZARGEN

검색하기 폼
  • 분류 전체보기 (40)
    • Programming (40)
      • Tools (4)
      • Java (10)
      • Database (7)
      • Web, HTML (4)
      • Lib, Frameworks (4)
      • OS (1)
      • Javascript (3)
      • Cloud (1)
      • Git (1)
  • 방명록

Programming/Javascript (3)
[Javascript] 실행 컨텍스트(Execution Context) 정리!!

실행 컨텍스트 정의 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념 = 실행 가능한 코드가 실행되기 위해 필요한 환경 자바스크립트 엔진은 실행 가능한 코드를 실행하기 위해 필요한 정보를 형상화하고 구분하기 위해 실행 컨텍스트를 물리적 객체의 형태로 관리한다. 실행 가능한 코드 전역 코드 : 전역 영역에 존재하는 코드 함수 코드 : 함수 내에 존재하는 코드 Eval 코드 : eval 함수로 실행되는 코드 Eval 함수? 문자로 표현 된 JavaScript 코드를 실행하는 함수. 인자로 받은 코드를 caller의 권한으로 수행하므로, 제 3자 코드가 eval()이 호출된 위치의 스코프를 볼 수 있으며, 비슷한 함수인 Function으로는 실현할 수 없는 공격이 가능하여 절대 쓰지 않는 것이 좋다. 실행..

Programming/Javascript 2021. 5. 11. 18:28
[JavaScript] 프로토타입(Prototype) 뽀개기

프로토타입(Prototype) 뽀개버리기!! 함수도 객체다 함수의 기본 기능인 코드 실행뿐만 아니라, 함수 자체가 일반 객체처럼 프로퍼티들을 가질 수 있다. function add(x, y) { return x+y; } add.status = 'OK'; console.log(add.status) add( ) 함수를 생성할 때 함수 코드는 함수 객체의 [[Code]] 내부 프로퍼티에 자동으로 저장된다(이것은 ECMAScript 명세서를 참조한 것이다* ). add() 함수에 마치 일반 객체처럼 status 프로퍼티를 생성하고 저장한 것을 확인할 수 있다. status 프로퍼티도 일반 객체에서의 접근 방식처럼 add.status를 이용해 접근 가능하다. 이처럼 자바스크립트에서 함수는 특정 기능의 코드를 수행..

Programming/Javascript 2021. 3. 12. 11:03
[Javascript] 클로저(Closure) 함수와 스코프 체인(Scope Chain)

자바스크립트를 공부하다보면 클로저 함수라는 놈을 만나게 된다. 그런데 요놈, 한마디로 설명하기엔 내 머릿속에 정리가 잘 안되어 있어서, 이 참에 제대로 짚고 넘어가련다. 그래서 이번 포스트는 요놈, 클로저와 스코프 체인을 다뤄보려 한다. 스코프 체인(Scope chain)?스코프 체인이 무엇인가 설명하기 전에, 먼저 글로벌 객체와 콜 객체를 알아야 한다. 글로벌 객체 & 콜 객체?자바스크립트가 실행되면 내부적으로 글로벌 객체를 만든다.요 글로벌 객체에는 글로벌 변수나 글로벌 함수가 담겨있다. 같은 맥락으로,자바스크립트의 어떤 함수가 있는데, 요 함수가 실행되면 내부적으로 Call 객체를 만든다.콜 객체에는 그럼 뭐가 있겠느냐구. 함수 내에서 정의된 로컬 변수와 내부 함수가 있을 것이다. 콜 객체? 듣보인..

Programming/Javascript 2018. 5. 23. 19:13
이전 1 다음
이전 다음
반응형
공지사항
최근에 올라온 글
  • npm workspaces 번역해드려요
  • 타입스크립트의 "프로젝트 참조(reference)⋯
  • 우리 팀 FE 파트에서는 멀티레포가 왜 벅찰까
  • Front-end 클린 아키텍처
최근에 달린 댓글
  • 쏙쏙 이해되네요! 좋은 글 감사합니다 :)
  • 와 물흐르듯이 이해가네요 감사합니다
  • 공감하고 갑니다.
  • Bravo
Total
200,970
Today
2
Yesterday
28
링크
  • Github

Blog is powered by Tistory / Designed by Tistory

티스토리툴바