inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 중고급: 엔진 핵심

1. Argument 처리 메커니즘, Argument 처리 구조, 엔진의 파라미터 처리

Argument 질문 입니다.

212

작성자 없음

작성한 질문수 0

1

var get = function(one) {

    return arguments

};
get("A", "B");를 했을때

위의 arguments라는건 원래 저렇게 사용하는 obj가 있고

사용하는 문법이 저렇게 사용한다는 건가요?

그리고 var get = function(one){

    return arguments;

}

get(77,100);

이러게 입력했을때 결과는 

  1. Arguments(2) [77, 100, callee: ƒ, Symbol(Symbol.iterator): ƒ]
    1. 077
    2. 1100
    3. length2

javascript

답변 2

0

김영보

Function, Object, Argument 모두 독립된 오브젝트이며 child 개념을 갖지 않습니다.

다만, function abc(){}처럼 function 키워드를 만나면 __proto__를 가진 function 인스턴스를 만들게 되는데요, 이때 __proto__에 Object.prototype에 연결된 6개 메소드가 연결됩니다. 그래서 마치 child처럼 보일 수 있지만, child 개념보다 연결, 확장 개념이라고 할 수 있습니다. 

// Object도 Global 객체의 child다. ==> Object, Global 모두 독립된 오브젝트로 child 개념이 성립되지 않습니다.

// 빈 파일 자체가 Golbal scope 라고 이해해도 되겠습니까? ==> 빈 파일이 무엇을 뜻하는지 알 수 없지만, Global 오브젝트와 Global scope는 개념이 다릅니다. 상황에 따라 같은 개념으로 볼 수도 있고 Global 오브젝트가 Global 스코프가 되지만, 뉘앙스가 다릅니다.

0

김영보

의미적으로 맞습니다만, 부언 설명을 하면

함수가 호출되면 자동으로 Argument 오브젝트(객체)를 만듭니다. 그리고 호출한 함수에서 넘겨준 모든 파라미터 값을 Argument 오브젝트에 {0: 77, 1: 100}처럼 Array-Like 형태로 저장합니다. 함수 안에서 Argument 오브젝트의 값을 arguments로 사용할 수 있습니다. arguments[0]은 77을 반환합니다.  함수를 빠져 나오면 자동으로 Argument 오브젝트를 삭제합니다.

getBook 실습 예제중 질문드립니다!

0

419

1

__proto__ 에 대해 질문드립니다

0

315

1

호이스팅 코딩시간 풀이

0

358

1

[코딩 시간] JS {name: value} 이해

0

340

1

[[Scope]] 와 [[Environment]]는 같은 개념인가요

0

345

0

slice

0

239

0

스코프가 뭔가요?

0

307

0

어려워요

0

255

0

강사님 변수이름에 get을 붙이는 이유를 알고싶습니다.

0

339

1

[정리 시간] 정확하게 이해했는지 확인 부탁드립니다.

0

300

0

스코프 질문

0

253

1

fn 함수와 book.get 함수 차이 질문드립니다...ㅠㅠㅠ

1

543

1

this binding 논리 질문입니다.

0

280

1

파라미터 값을 매핑할 때

0

251

0

ES6부터는 this 바인딩을 환경 레코드에서 참조한다고 들었습니다.

0

210

0

정리시간 입니다.

0

228

0

정리시간입니다.

6

270

0

정리 시간 입니다.

0

203

0

정리시간입니다.

6

227

0

코딩시간 입니다.

1

222

0

선생님 스코프 질문이 있습니다.

1

240

0

[정리시간] 해보았습니다!

0

175

0

선생님 질문있습니다!!

0

159

0

질문드려도 될까요 선생님..

0

217

0