[자바스크립트] 함수호출과 변수객체

트릴로니·2022년 7월 21일

자바스크립트

목록 보기
19/31

프로그램이란 즉 변수에는 값을 넣고 함수를 실행시켜 코드를 수행하는 것이다.

var canada = () => {
	console.log('cold')
}

function india() {
	console.log('warm')
}

canada() // invocation

함수표현문 (화살표 함수)

  • canada함수는 함수의 런타임 동안 정의된다.

함수선언식

  • india함수는 parsetime에 정의된다.즉 컴파일러가 코드를 읽을 때 호이스팅이 시작되고 메모리에 할당한다.

함수가 호출되면 JS엔진은 함수 실행 컨텍스트를 만드는데 컨텍스트 안에 다음 세가지 객체가 생성된다.
1. this 키워드
2. 변수객체(arguments)
3. 스코프 체인(scope chain)

function marry(person1, person2) {
	console.log(arguments)
    return `${person1} is now married to ${person2]`
}

marry('Tim', 'Tina')
//{0: 'Tim', 1: 'Tina'}
//'Tim is now married to Tina'
  • 변수객체는 JS엔진은 실행에 필요한 여러 정보를 담을 객체이다.
  • 전역 컨텍스트가 생성될 경우 경우 전역객체가 생성되는데 이때 this와 같았다.
  • 전역 컨텍스트의 경우 전역 객체를 가리킨다. 모든 전역 변수와, 전역 함수를 프로퍼티를 갖는다
  • 함수 컨텍스트의 경우 활성 객체를 가리킨다. 지역 변수와 내부함수를 프로퍼티로 갖는다

0개의 댓글