3:03 외부에게 지역변수 변경 권한을 준다의 의미가 궁금합니다.
245
30 câu hỏi đã được viết
자동차 게임 예시를 통해, 지역변수를 선언이 외부로부터 그 값을 바꾸지 못하도록 한다는 것을 이해하였습니다. 그런데 3:03초쯤에 외부에게 지역변수 변경 권한을 부여한다는게 무슨 의미인지 잘 와닿지 않습니다. 자동차 게임에서 지역변수를 선언하면서 외부에서 값을 변경 못하도록 한건, 지역변수 변경 권한을 없앤것 아닌가용?.?
Câu trả lời 2
1
예로 들은 Car에는 'run'이라는 메서드가 있습니다.
이 메서드는 km값을 받아서 지역변수 중 fuel, total 값을 변경하게 합니다.
물론 직접 변경은 아니고, 내부에서 적절한 판단을 거쳐 안전하게 처리하고 있습니다.
즉 외부에서는 제한적이긴 하지만 어쨌든 'run' 메서드를 통해서 지역변수의 접근 및 변경 권한을 '일부' 부여받은 셈이죠.
만약 Car 함수를 다음과 같이 작성하였다면 권한은 보다 직접적일 수도 있습니다.
var createCar = function (f, p) {
// ...
return {
set fuel(f) {
fuel = f;
},
// ...
};
}
이제는 외부에서 `car.fuel = 10;` 등과 같은 명령을 통해서 직접 지역변수의 값을 변경할 수도 있습니다.
이렇듯 외부에 어떤 권한을 줄 것인지, 거기에 어떤 제한을 걸 것인지는
createCar 함수의 return할 객체 안에 어떤 내용을 담을 것인지에 따라 달라질 것입니다.
인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유
0
58
1
setTimeout 에서 this
0
79
1
2강부터 영상이 나오지 않습니다.
0
172
1
자바스크립트 주석에 이상한 점이 있어서 문의드립니다.
0
217
2
return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.
1
258
1
클래스 static 멤버
1
251
1
실행컨텍스트와 스택프레임
2
564
1
프로토타입으로 상속할때 브릿지 사용 이유
0
319
1
호이스팅 관련 질문
1
334
1
책 66p. 예제 3-2 질문입니다.
0
355
1
강의 내용 10:58 캡슐화 질문입니다.
1
396
1
강의 내용 5:10 질문입니다.
1
421
2
전역 공간에서의 this
0
425
2
18:31 addEventListener의 this
1
478
1
outerEnvironmentReference 질문
1
371
1
실행 컨텍스트와 클로저에 대해 질문드립니다.
1
447
1
Object.prototype.constructor의 [[prototype]] ?
1
657
1
함수를 값으로 할당할 때
2
456
1
15:54 'ddd' 사라지는 오류?
4
374
1
프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.
1
401
1
기본형/가변형 질문입니당
0
330
0
선생님 그러면 섹션 0만 봐도 무방한가요!?
0
332
1
Hoisting과 environmentRecord에 관한 질문입니다.
1
287
1
안녕하세요, 데이터 변경 질문입니다.
0
321
1

