Written on
·
184
0
run의 this가 누구인지 잘 모르겠습니다. createcar.run()? window.run()??
return { property : value }의 경우 할당 공간이 어디가 되는 건가요?
단지 리터럴로 선언할 경우 함수 내부임에도 전역객체의 메서드가 되는지,
무언가 접근방식이 있는건지 궁금하네요.
Answer 1
1
createCar는 함수이죠.
함수에서 return해주는 내용은 함수를 실행할 때 반환되며,
반환된 것은 변수에 할당하거나 값으로써 활용됩니다.
즉, var car = createCar(10, 2) 와 같이 만들 경우,
car 변수에는 { run: function (km) { ... } } 라는 객체가 할당될 것입니다.
이후 car.run() 을 호출할 경우 run함수(메소드) 내에서의 this는 car가 되겠지요.