[javascript] var 바인딩과 실행 컨텍스트의 차이점

바인딩과 실행 컨텍스트는 자바스크립트에서 핵심적인 요소입니다. 이 두 개념은 코드의 실행과 변수의 스코프를 이해하는 데 중요한 역할을 합니다. 이 포스트에서 바인딩과 실행 컨텍스트의 차이점에 대해 알아보겠습니다.

1. 바인딩

바인딩은 변수와 값 또는 이름과 값 간의 관계를 맺는 것을 의미합니다. 자바스크립트에서 변수에 값을 할당하거나 함수의 매개변수와 인자를 연결하는 것이 바인딩의 예시입니다.

var x = 10; // 변수 x에 10을 바인딩
function greet(name) {
  console.log('Hello, ' + name + '!'); // 매개변수 name과 전달된 값 간의 바인딩
}

2. 실행 컨텍스트

실행 컨텍스트는 코드가 실행되는 환경을 추상화한 것으로, 실행에 필요한 정보를 담고 있는 객체입니다. 실행 컨텍스트는 스코프, this 값, 변수 객체 등의 정보를 포함합니다.

var x = 10;
function greet(name) {
  console.log('Hello, ' + name + '!');
}
greet('Alice');

위 예시에서, greet('Alice') 함수가 호출될 때마다 새로운 실행 컨텍스트가 생성됩니다. 각 실행 컨텍스트는 해당 함수가 실행되는 동안 필요한 모든 정보를 담고 있습니다.

3. 바인딩과 실행 컨텍스트의 차이점

바인딩은 변수와 값 또는 이름과 값 간의 관계를 맺는 것을 의미하는 반면, 실행 컨텍스트는 코드가 실행되는 환경을 추상화한 것입니다. 즉, 바인딩은 변수와 값을 연결하는 것에 초점을 맞추고, 실행 컨텍스트는 코드의 실행과 관련된 정보를 포함하는 것에 초점을 맞춥니다.

이 포스트에서 우리는 바인딩과 실행 컨텍스트의 차이점에 대해 살펴보았습니다. 바인딩은 변수와 값 또는 이름과 값 간의 관계를 맺는 것을 의미하며, 실행 컨텍스트는 코드가 실행되는 환경을 추상화한 것입니다. 이 두 가지 개념을 이해하면 자바스크립트의 동작 원리를 더 잘 이해할 수 있을 것입니다.