프로세스와 스레드 컴퓨터에서 실행할 수 있는 파일들 (Ex. 윈도우의 exe 파일)을 프로그램이라고 하는데, 이 프로그램이 실행중인 상태, 즉 컴퓨터가 어떤 일을 하고 있는 상태를 프로세스라고 합니다. 운영체제가 여러 개의 프로세스를 함께 실행하고 있기 때문에 멀티태스킹이 가능한 것입니다. 하지만 컴퓨터가 여러 개의 프로세스를 함께 실행하는 것 만으로는...
정의 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 하나의 실행 컨텍스트를 구성할 수 있는 방법으로 전역공간, eval()함수, 함수 등이 있습니다. 자동으로 생성되는 전역공간과 악마로 취급받는 eval을 제외하면 우리가 흔히 실행 컨텍스트를 구성하는 방법은 함수를 실행하는 것뿐입니다. > ※ ES6에서는 블록 {}에 의해서도 새로운 실행 컨텍스트가 생...
자바스크립트는 프로토타입 기반 언어입니다. 클래스 기반 언어에서는 상속을 사용하지만 프로토타입 기반 언어에서는 어떤 객체를 원형(prototype)으로 삼고 이를 복제(참조)함으로써 상속과 비슷한 효과를 얻습니다. 프로토타입의 개념 > 프로토타입은 하나의 객체입니다. 자바스크립트는 함수에 자동으로 객체인 prototype 프로퍼티를 생성하는데, 이 함수를 ...
자바스크립트의 데이터 타입에는 크게 두 가지가 있습니다. 기본형(원시형) : 숫자, 문자열, 불리언, null, undefined, 심볼 참조형 : 객체 기본형은 불변성(immutability)을 가집니다. 기본형인 숫자 10을 담은 변수 a에 다시 숫자 15를 담으면 a의 값은 문제없이 15로 변하는데, "변하지 않는다"는 게 어떤 의미일까요? 기본...
자바스크립트에서 this는 기본적으로 실행 컨텍스트가 생성될 때 함께 결정됩니다. 실행 컨텍스트에 관한 글은 아래를 참고하세요. > 실행 컨텍스트 실행 컨텍스트는 함수를 호출할 때 생성되므로, 바꿔 말하면 this는 함수를 호출할 때 결정된다고 할 수 있겠습니다. 함수를 어떤 방식으로 호출하느냐에 따라 값이 달라지는 것입니다. 전역 공간 전역 공간에서 ...
소스코드 위의 코드를 실행하면 녹색 박스안에 노란색 박스가 들어있습니다. 그리고 addEventListener 를 녹색 박스에 이벤트를 걸었고 클릭을 하면 그 이벤트의 target 요소와 currentTarget 요소가 콘솔에 출력되게 코드를 작성하였습니다. > 녹색 박스 클릭 결과 노란색 박스 클릭 결과 위로 보았을때 둘의 차이점을 간단히 설명하면...
아래 코드를 봅시다. outer 함수는 inner 함수를 반환합니다. 그러면 outer2 변수는 outer의 실행 결과인 inner 함수를 참조하게 될 것입니다. 이후 9번째 줄에서 outer2를 호출하면 inner 함수가 실행되겠죠. inner 함수의 environmentRecord에는 담길 정보가 없습니다. outerEnvironmentReferen...