본문 바로가기

js7

[JS] 실행 컨텍스트 실행 컨텍스트 실행 컨텍스트는 자바스크립트가 동작하는 원리라고 할 수 있습니다. 쉽게 말하면, 코드가 실행되는 환경이라고 보면 됩니다. 전역 컨텍스트 생성 후, 함수 호출 시마다 함수 컨텍스트가 생깁니다. 컨텍스트 생성 시 컨텍스트 안에 변수객체(arguments, variable), scope chain, this가 생성됩니다. 컨텍스트 생성 후 함수가 실행되는데, 사용되는 변수들은 변수 객체 안에서 값을 찾고, 없다면 스코프 체인을 따라 올라가며 찾습니다. 함수 실행이 끝나면 해당 컨텍스트는 사라지고, 페이지가 종료되면 전역 컨텍스트는 사라지게 됩니다. 실행 컨텍스트 스택 코드가 실행될 때, 실행 컨텍스트 스택(Stack)이 생성하고 소멸하게 됩니다. 현재 실행 중인 컨텍스트에서 관련 없는 코드(예를.. 2023. 3. 15.
[JS] 프로토타입 (Prototype) 기본적으로 자바스크립트는 객체지향 프로그래밍을 지원합니다. 단, Java와 다르게 프로토타입 기반의 객체지향 언어입니다. 자바스크립트에서는 this만큼이나 프로토타입에 대한 이해가 반드시 필요합니다. 어찌 보면 가장 어려운 개념일 수도 있지만 이번 포스팅과 다음 포스팅을 통해서 한 번 자세하게 살펴보도록 하겠습니다. 프로토타입 객체 자바스크립트는 클래스가 없습니다. 사실, 하다 보면 느끼겠지만 지원하지 않는다기보단 클래스를 만들어 사용할 수는 있습니다. 또한, ES6부터는 클래스를 지원하고 이는 기존 ES5의 프로토타입 개념을 기반으로 사용하기 편하게 바꾼 Syntatic Sugar입니다. Java에서는 class를 이용해서 객체를 생성하지만, 자바스크립트에서는 객체 리터럴이나 생성자 함수를 이용해 객체.. 2023. 3. 7.
[JS] 함수의 호출과 this 자바스크립트에서는 this라는 개념이 있습니다. 이를 이해하는 것은 매우 중요한데, 함수를 호출하는 방식에 따라 this가 바인딩되는 방식이 달라지기 때문에 어려울 수 있습니다. 이번 포스팅에서는 이를 좀 더 쉽게 이해할 수 있도록 함수를 호출하는 방식에 따라 유형을 나눠서 설명해보려 합니다. 함수 호출 패턴과 this 바인딩 JavaScript에서는 함수를 호출할 때, arguments객체와 함께 this 인자가 함수 내부로 전달됩니다. 문제는 this인자가 함수가 호출되는 방식(패턴)에 따라 다른 객체를 참조하기 때문에 이를 이해하기 어려울 수 있습니다. 객체의 메서드 호출할 때 함수를 호출할 때(내부 함수의 this 바인딩) 생성자 함수를 호출할 때 call과 apply메서드의 사용을 통한 this.. 2023. 3. 6.
[JS] 함수의 종류 자바스크립트에서 함수는 여러 가지 형태를 가집니다. 각각의 함수 형태마다 동작 방식이나 그에 따른 쓰임이 다릅니다. 이번 포스팅에서는 자바스크립트에서 사용되는 함수의 종류에 대해서 알아보고 각각의 함수가 어떻게 사용되는지 소개해보도록 하겠습니다. 익명함수 var add = function(x, y) { return x + y; } 익명함수는 말 그대로 이름이 없는 함수입니다. 익명 함수는 아래와 같은 특징을 가집니다. 주로 변수에 할당(함수표현식)되거나 함수의 인자값(parameter) 또는 반환값으로 사용됩니다. 콜백함수의 생성에 사용됩니다. 콜백함수 위의 익명함수의 대표적인 용도 중 하나가 콜백함수의 생성입니다. 콜백함수는 비동기 통신에서 많이 사용됩니다. 그 예를 코드로 한 번 살펴보겠습니다. fu.. 2023. 2. 28.
728x90